Bug 1807268 - Re-enable verifyShowClipboardSuggestionsToggleTest UI test r=jajohnson
[gecko.git] / mobile / android / fenix / app / src / androidTest / java / org / mozilla / fenix / ui / CrashReportingTest.kt
blobbe99ebe8af54773a98f7f119d2fcbe50d8ba727f
1 /* This Source Code Form is subject to the terms of the Mozilla Public
2  * License, v. 2.0. If a copy of the MPL was not distributed with this
3  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
5 package org.mozilla.fenix.ui
7 import androidx.compose.ui.test.junit4.AndroidComposeTestRule
8 import org.junit.Ignore
9 import org.junit.Rule
10 import org.junit.Test
11 import org.mozilla.fenix.R
12 import org.mozilla.fenix.customannotations.SmokeTest
13 import org.mozilla.fenix.helpers.DataGenerationHelper.getStringResource
14 import org.mozilla.fenix.helpers.HomeActivityIntentTestRule
15 import org.mozilla.fenix.helpers.MatcherHelper.itemWithResId
16 import org.mozilla.fenix.helpers.TestAssetHelper
17 import org.mozilla.fenix.helpers.TestHelper.mDevice
18 import org.mozilla.fenix.helpers.TestHelper.packageName
19 import org.mozilla.fenix.helpers.TestSetup
20 import org.mozilla.fenix.ui.robots.clickPageObject
21 import org.mozilla.fenix.ui.robots.homeScreen
22 import org.mozilla.fenix.ui.robots.navigationToolbar
24 class CrashReportingTest : TestSetup() {
25     private val tabCrashMessage = getStringResource(R.string.tab_crash_title_2)
27     @get:Rule
28     val activityTestRule = AndroidComposeTestRule(
29         HomeActivityIntentTestRule(
30             isPocketEnabled = false,
31             isJumpBackInCFREnabled = false,
32             isWallpaperOnboardingEnabled = false,
33             isTCPCFREnabled = false,
34         ),
35     ) { it.activity }
37     // TestRail link: https://testrail.stage.mozaws.net/index.php?/cases/view/308906
38     @Test
39     fun closeTabFromCrashedTabReporterTest() {
40         homeScreen {
41         }.openNavigationToolbar {
42         }.openTabCrashReporter {
43         }.clickTabCrashedCloseButton {
44         }.openTabDrawer {
45             verifyNoOpenTabsInNormalBrowsing()
46         }
47     }
49     // TestRail link: https://testrail.stage.mozaws.net/index.php?/cases/view/2336134
50     @Ignore("Test failure caused by: https://github.com/mozilla-mobile/fenix/issues/19964")
51     @Test
52     fun restoreTabFromTabCrashedReporterTest() {
53         val website = TestAssetHelper.getGenericAsset(mockWebServer, 1)
55         homeScreen {
56         }.openNavigationToolbar {
57         }.enterURLAndEnterToBrowser(website.url) {}
59         navigationToolbar {
60         }.openTabCrashReporter {
61             clickPageObject(itemWithResId("$packageName:id/restoreTabButton"))
62             verifyPageContent(website.content)
63         }
64     }
66     // TestRail link: https://testrail.stage.mozaws.net/index.php?/cases/view/1681928
67     @SmokeTest
68     @Test
69     fun useAppWhileTabIsCrashedTest() {
70         val firstWebPage = TestAssetHelper.getGenericAsset(mockWebServer, 1)
71         val secondWebPage = TestAssetHelper.getGenericAsset(mockWebServer, 2)
73         homeScreen {
74         }.openNavigationToolbar {
75         }.enterURLAndEnterToBrowser(firstWebPage.url) {
76             mDevice.waitForIdle()
77         }.openTabDrawer {
78         }.openNewTab {
79         }.submitQuery(secondWebPage.url.toString()) {
80             waitForPageToLoad()
81         }
83         navigationToolbar {
84         }.openTabCrashReporter {
85             verifyPageContent(tabCrashMessage)
86         }.openTabDrawer {
87             verifyExistingOpenTabs(firstWebPage.title)
88             verifyExistingOpenTabs("about:crashcontent")
89         }.closeTabDrawer {
90         }.goToHomescreen {
91             verifyExistingTopSitesList()
92         }.openThreeDotMenu {
93             verifySettingsButton()
94         }
95     }