Bug 1846529 - New UI tests that verify the PB state after closing the app

fenix/118.0
AndiAJ 10 months ago committed by mergify[bot]
parent b657d3a71c
commit 75e861365b

@ -115,6 +115,9 @@ object TestHelper {
}
}
fun closeApp(activity: HomeActivityIntentTestRule) =
activity.activity.finishAndRemoveTask()
fun getPermissionAllowID(): String {
return when
(Build.VERSION.SDK_INT > Build.VERSION_CODES.P) {

@ -13,11 +13,14 @@ import org.junit.After
import org.junit.Before
import org.junit.Rule
import org.junit.Test
import org.mozilla.fenix.customannotations.SmokeTest
import org.mozilla.fenix.helpers.AndroidAssetDispatcher
import org.mozilla.fenix.helpers.HomeActivityTestRule
import org.mozilla.fenix.helpers.HomeActivityIntentTestRule
import org.mozilla.fenix.helpers.RetryTestRule
import org.mozilla.fenix.helpers.TestAssetHelper
import org.mozilla.fenix.helpers.TestHelper.clickSnackbarButton
import org.mozilla.fenix.helpers.TestHelper.closeApp
import org.mozilla.fenix.helpers.TestHelper.restartApp
import org.mozilla.fenix.helpers.TestHelper.verifyKeyboardVisibility
import org.mozilla.fenix.helpers.TestHelper.verifySnackBarText
import org.mozilla.fenix.ui.robots.browserScreen
@ -49,7 +52,8 @@ class ComposeTabbedBrowsingTest {
@get:Rule(order = 0)
val composeTestRule =
AndroidComposeTestRule(
HomeActivityTestRule.withDefaultSettingsOverrides(
HomeActivityIntentTestRule.withDefaultSettingsOverrides(
skipOnboarding = true,
tabsTrayRewriteEnabled = true,
),
) { it.activity }
@ -388,4 +392,48 @@ class ComposeTabbedBrowsingTest {
verifyTurnOnSyncMenu()
}
}
@Test
fun privateModeStaysAsDefaultAfterRestartTest() {
val defaultWebPage = TestAssetHelper.getGenericAsset(mockWebServer, 1)
navigationToolbar {
}.enterURLAndEnterToBrowser(defaultWebPage.url) {
}.goToHomescreen {
}.togglePrivateBrowsingMode()
closeApp(composeTestRule.activityRule)
restartApp(composeTestRule.activityRule)
homeScreen {
verifyPrivateBrowsingHomeScreen()
}.openComposeTabDrawer(composeTestRule) {
}.toggleToNormalTabs {
verifyExistingOpenTabs(defaultWebPage.title)
}
}
@SmokeTest
@Test
fun privateTabsDoNotPersistAfterClosingAppTest() {
val firstWebPage = TestAssetHelper.getGenericAsset(mockWebServer, 1)
val secondWebPage = TestAssetHelper.getGenericAsset(mockWebServer, 2)
homeScreen {
}.togglePrivateBrowsingMode()
navigationToolbar {
}.enterURLAndEnterToBrowser(firstWebPage.url) {
}.openComposeTabDrawer(composeTestRule) {
}.openNewTab {
}.submitQuery(secondWebPage.url.toString()) {
}
closeApp(composeTestRule.activityRule)
restartApp(composeTestRule.activityRule)
homeScreen {
verifyPrivateBrowsingHomeScreen()
}.openComposeTabDrawer(composeTestRule) {
verifyNoOpenTabsInPrivateBrowsing()
}
}
}

@ -12,10 +12,13 @@ import org.junit.After
import org.junit.Before
import org.junit.Rule
import org.junit.Test
import org.mozilla.fenix.customannotations.SmokeTest
import org.mozilla.fenix.helpers.AndroidAssetDispatcher
import org.mozilla.fenix.helpers.HomeActivityTestRule
import org.mozilla.fenix.helpers.HomeActivityIntentTestRule
import org.mozilla.fenix.helpers.RetryTestRule
import org.mozilla.fenix.helpers.TestAssetHelper
import org.mozilla.fenix.helpers.TestHelper.closeApp
import org.mozilla.fenix.helpers.TestHelper.restartApp
import org.mozilla.fenix.helpers.TestHelper.verifyKeyboardVisibility
import org.mozilla.fenix.ui.robots.browserScreen
import org.mozilla.fenix.ui.robots.homeScreen
@ -44,7 +47,7 @@ class TabbedBrowsingTest {
private lateinit var mockWebServer: MockWebServer
@get:Rule
val activityTestRule = HomeActivityTestRule.withDefaultSettingsOverrides()
val activityTestRule = HomeActivityIntentTestRule.withDefaultSettingsOverrides(skipOnboarding = true)
@Rule
@JvmField
@ -377,4 +380,48 @@ class TabbedBrowsingTest {
verifyTurnOnSyncMenu()
}
}
@Test
fun privateModeStaysAsDefaultAfterRestartTest() {
val defaultWebPage = TestAssetHelper.getGenericAsset(mockWebServer, 1)
navigationToolbar {
}.enterURLAndEnterToBrowser(defaultWebPage.url) {
}.goToHomescreen {
}.togglePrivateBrowsingMode()
closeApp(activityTestRule)
restartApp(activityTestRule)
homeScreen {
verifyPrivateBrowsingHomeScreen()
}.openTabDrawer {
}.toggleToNormalTabs {
verifyExistingOpenTabs(defaultWebPage.title)
}
}
@SmokeTest
@Test
fun privateTabsDoNotPersistAfterClosingAppTest() {
val firstWebPage = TestAssetHelper.getGenericAsset(mockWebServer, 1)
val secondWebPage = TestAssetHelper.getGenericAsset(mockWebServer, 2)
homeScreen {
}.togglePrivateBrowsingMode()
navigationToolbar {
}.enterURLAndEnterToBrowser(firstWebPage.url) {
}.openTabDrawer {
}.openNewTab {
}.submitQuery(secondWebPage.url.toString()) {
}
closeApp(activityTestRule)
restartApp(activityTestRule)
homeScreen {
verifyPrivateBrowsingHomeScreen()
}.openTabDrawer {
verifyNoOpenTabsInPrivateBrowsing()
}
}
}

Loading…
Cancel
Save