forked from mirrors/gecko-dev
Bug 1897123 - Consolidate the delete browsing data on quit related test classes r=ohorvath
Both classes matched up perfectly. ✅ Differential Revision: https://phabricator.services.mozilla.com/D210641
This commit is contained in:
parent
b672225dd1
commit
a26386f006
2 changed files with 17 additions and 281 deletions
|
|
@ -1,267 +0,0 @@
|
|||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
package org.mozilla.fenix.ui
|
||||
|
||||
import android.Manifest
|
||||
import androidx.compose.ui.test.junit4.AndroidComposeTestRule
|
||||
import androidx.core.net.toUri
|
||||
import androidx.test.espresso.Espresso.pressBack
|
||||
import androidx.test.rule.GrantPermissionRule
|
||||
import org.junit.Rule
|
||||
import org.junit.Test
|
||||
import org.mozilla.fenix.R
|
||||
import org.mozilla.fenix.customannotations.SmokeTest
|
||||
import org.mozilla.fenix.helpers.AppAndSystemHelper.setNetworkEnabled
|
||||
import org.mozilla.fenix.helpers.DataGenerationHelper.getStringResource
|
||||
import org.mozilla.fenix.helpers.HomeActivityIntentTestRule
|
||||
import org.mozilla.fenix.helpers.MatcherHelper
|
||||
import org.mozilla.fenix.helpers.TestAssetHelper
|
||||
import org.mozilla.fenix.helpers.TestAssetHelper.getStorageTestAsset
|
||||
import org.mozilla.fenix.helpers.TestHelper.exitMenu
|
||||
import org.mozilla.fenix.helpers.TestHelper.mDevice
|
||||
import org.mozilla.fenix.helpers.TestHelper.restartApp
|
||||
import org.mozilla.fenix.helpers.TestSetup
|
||||
import org.mozilla.fenix.ui.robots.clickPageObject
|
||||
import org.mozilla.fenix.ui.robots.downloadRobot
|
||||
import org.mozilla.fenix.ui.robots.homeScreen
|
||||
import org.mozilla.fenix.ui.robots.navigationToolbar
|
||||
|
||||
/**
|
||||
* Tests for verifying the Settings for:
|
||||
* Delete Browsing Data on quit
|
||||
*
|
||||
*/
|
||||
class ComposeSettingsDeleteBrowsingDataOnQuitTest : TestSetup() {
|
||||
@get:Rule(order = 0)
|
||||
val composeTestRule =
|
||||
AndroidComposeTestRule(
|
||||
HomeActivityIntentTestRule.withDefaultSettingsOverrides(
|
||||
skipOnboarding = true,
|
||||
tabsTrayRewriteEnabled = true,
|
||||
),
|
||||
) { it.activity }
|
||||
|
||||
// Automatically allows app permissions, avoiding a system dialog showing up.
|
||||
@get:Rule(order = 1)
|
||||
val grantPermissionRule: GrantPermissionRule = GrantPermissionRule.grant(
|
||||
Manifest.permission.RECORD_AUDIO,
|
||||
)
|
||||
|
||||
// TestRail link: https://testrail.stage.mozaws.net/index.php?/cases/view/416048
|
||||
@Test
|
||||
fun deleteBrowsingDataOnQuitSettingTest() {
|
||||
homeScreen {
|
||||
}.openThreeDotMenu {
|
||||
}.openSettings {
|
||||
}.openSettingsSubMenuDeleteBrowsingDataOnQuit {
|
||||
verifyNavigationToolBarHeader()
|
||||
verifyDeleteBrowsingOnQuitEnabled(false)
|
||||
verifyDeleteBrowsingOnQuitButtonSummary()
|
||||
verifyDeleteBrowsingOnQuitEnabled(false)
|
||||
clickDeleteBrowsingOnQuitButtonSwitch()
|
||||
verifyDeleteBrowsingOnQuitEnabled(true)
|
||||
verifyAllTheCheckBoxesText()
|
||||
verifyAllTheCheckBoxesChecked(true)
|
||||
}.goBack {
|
||||
verifySettingsOptionSummary("Delete browsing data on quit", "On")
|
||||
}.goBack {
|
||||
}.openThreeDotMenu {
|
||||
verifyQuitButtonExists()
|
||||
pressBack()
|
||||
}
|
||||
navigationToolbar {
|
||||
}.enterURLAndEnterToBrowser("test".toUri()) {
|
||||
}.openThreeDotMenu {
|
||||
verifyQuitButtonExists()
|
||||
}
|
||||
}
|
||||
|
||||
// TestRail link: https://testrail.stage.mozaws.net/index.php?/cases/view/416049
|
||||
@Test
|
||||
fun deleteOpenTabsOnQuitTest() {
|
||||
val testPage = TestAssetHelper.getGenericAsset(mockWebServer, 1)
|
||||
|
||||
homeScreen {
|
||||
}.openThreeDotMenu {
|
||||
}.openSettings {
|
||||
}.openSettingsSubMenuDeleteBrowsingDataOnQuit {
|
||||
clickDeleteBrowsingOnQuitButtonSwitch()
|
||||
exitMenu()
|
||||
}
|
||||
navigationToolbar {
|
||||
}.enterURLAndEnterToBrowser(testPage.url) {
|
||||
}.goToHomescreen {
|
||||
}.openThreeDotMenu {
|
||||
clickQuit()
|
||||
restartApp(composeTestRule.activityRule)
|
||||
}
|
||||
homeScreen {
|
||||
}.openComposeTabDrawer(composeTestRule) {
|
||||
verifyNoOpenTabsInNormalBrowsing()
|
||||
}
|
||||
}
|
||||
|
||||
// TestRail link: https://testrail.stage.mozaws.net/index.php?/cases/view/416050
|
||||
@Test
|
||||
fun deleteBrowsingHistoryOnQuitTest() {
|
||||
val genericPage =
|
||||
getStorageTestAsset(mockWebServer, "generic1.html")
|
||||
|
||||
homeScreen {
|
||||
}.openThreeDotMenu {
|
||||
}.openSettings {
|
||||
}.openSettingsSubMenuDeleteBrowsingDataOnQuit {
|
||||
clickDeleteBrowsingOnQuitButtonSwitch()
|
||||
exitMenu()
|
||||
}
|
||||
navigationToolbar {
|
||||
}.enterURLAndEnterToBrowser(genericPage.url) {
|
||||
}.goToHomescreen {
|
||||
}.openThreeDotMenu {
|
||||
clickQuit()
|
||||
restartApp(composeTestRule.activityRule)
|
||||
}
|
||||
|
||||
homeScreen {
|
||||
}.openThreeDotMenu {
|
||||
}.openHistory {
|
||||
verifyEmptyHistoryView()
|
||||
exitMenu()
|
||||
}
|
||||
}
|
||||
|
||||
// TestRail link: https://testrail.stage.mozaws.net/index.php?/cases/view/416051
|
||||
@Test
|
||||
fun deleteCookiesAndSiteDataOnQuitTest() {
|
||||
val storageWritePage =
|
||||
getStorageTestAsset(mockWebServer, "storage_write.html")
|
||||
val storageCheckPage =
|
||||
getStorageTestAsset(mockWebServer, "storage_check.html")
|
||||
|
||||
homeScreen {
|
||||
}.openThreeDotMenu {
|
||||
}.openSettings {
|
||||
}.openSettingsSubMenuDeleteBrowsingDataOnQuit {
|
||||
clickDeleteBrowsingOnQuitButtonSwitch()
|
||||
exitMenu()
|
||||
}
|
||||
navigationToolbar {
|
||||
}.enterURLAndEnterToBrowser(storageWritePage.url) {
|
||||
clickPageObject(MatcherHelper.itemWithText("Set cookies"))
|
||||
verifyPageContent("Values written to storage")
|
||||
}.goToHomescreen {
|
||||
}.openThreeDotMenu {
|
||||
clickQuit()
|
||||
restartApp(composeTestRule.activityRule)
|
||||
}
|
||||
|
||||
navigationToolbar {
|
||||
}.enterURLAndEnterToBrowser(storageCheckPage.url) {
|
||||
verifyPageContent("Session storage empty")
|
||||
verifyPageContent("Local storage empty")
|
||||
}.openNavigationToolbar {
|
||||
}.enterURLAndEnterToBrowser(storageWritePage.url) {
|
||||
verifyPageContent("No cookies set")
|
||||
}
|
||||
}
|
||||
|
||||
// TestRail link: https://testrail.stage.mozaws.net/index.php?/cases/view/1243096
|
||||
@SmokeTest
|
||||
@Test
|
||||
fun deleteDownloadsOnQuitTest() {
|
||||
val downloadTestPage = "https://storage.googleapis.com/mobile_test_assets/test_app/downloads.html"
|
||||
|
||||
homeScreen {
|
||||
}.openThreeDotMenu {
|
||||
}.openSettings {
|
||||
}.openSettingsSubMenuDeleteBrowsingDataOnQuit {
|
||||
clickDeleteBrowsingOnQuitButtonSwitch()
|
||||
exitMenu()
|
||||
}
|
||||
downloadRobot {
|
||||
openPageAndDownloadFile(url = downloadTestPage.toUri(), downloadFile = "smallZip.zip")
|
||||
verifyDownloadCompleteNotificationPopup()
|
||||
}.closeDownloadPrompt {
|
||||
}.goToHomescreen {
|
||||
}.openThreeDotMenu {
|
||||
clickQuit()
|
||||
mDevice.waitForIdle()
|
||||
}
|
||||
restartApp(composeTestRule.activityRule)
|
||||
homeScreen {
|
||||
}.openThreeDotMenu {
|
||||
}.openDownloadsManager(composeTestRule) {
|
||||
verifyEmptyDownloadsList()
|
||||
}
|
||||
}
|
||||
|
||||
// TestRail link: https://testrail.stage.mozaws.net/index.php?/cases/view/416053
|
||||
@SmokeTest
|
||||
@Test
|
||||
fun deleteSitePermissionsOnQuitTest() {
|
||||
val testPage = "https://mozilla-mobile.github.io/testapp/permissions"
|
||||
val testPageSubstring = "https://mozilla-mobile.github.io:443"
|
||||
|
||||
homeScreen {
|
||||
}.openThreeDotMenu {
|
||||
}.openSettings {
|
||||
}.openSettingsSubMenuDeleteBrowsingDataOnQuit {
|
||||
clickDeleteBrowsingOnQuitButtonSwitch()
|
||||
exitMenu()
|
||||
}
|
||||
navigationToolbar {
|
||||
}.enterURLAndEnterToBrowser(testPage.toUri()) {
|
||||
waitForPageToLoad()
|
||||
}.clickStartMicrophoneButton {
|
||||
verifyMicrophonePermissionPrompt(testPageSubstring)
|
||||
selectRememberPermissionDecision()
|
||||
}.clickPagePermissionButton(false) {
|
||||
verifyPageContent("Microphone not allowed")
|
||||
}.goToHomescreen {
|
||||
}.openThreeDotMenu {
|
||||
clickQuit()
|
||||
mDevice.waitForIdle()
|
||||
}
|
||||
restartApp(composeTestRule.activityRule)
|
||||
navigationToolbar {
|
||||
}.enterURLAndEnterToBrowser(testPage.toUri()) {
|
||||
waitForPageToLoad()
|
||||
}.clickStartMicrophoneButton {
|
||||
verifyMicrophonePermissionPrompt(testPageSubstring)
|
||||
}
|
||||
}
|
||||
|
||||
// TestRail link: https://testrail.stage.mozaws.net/index.php?/cases/view/416052
|
||||
@Test
|
||||
fun deleteCachedFilesOnQuitTest() {
|
||||
val pocketTopArticles = getStringResource(R.string.pocket_pinned_top_articles)
|
||||
|
||||
homeScreen {
|
||||
}.openThreeDotMenu {
|
||||
}.openSettings {
|
||||
}.openSettingsSubMenuDeleteBrowsingDataOnQuit {
|
||||
clickDeleteBrowsingOnQuitButtonSwitch()
|
||||
exitMenu()
|
||||
}
|
||||
homeScreen {
|
||||
verifyExistingTopSitesTabs(pocketTopArticles)
|
||||
}.openTopSiteTabWithTitle(pocketTopArticles) {
|
||||
waitForPageToLoad()
|
||||
}.goToHomescreen {
|
||||
}.openThreeDotMenu {
|
||||
clickQuit()
|
||||
mDevice.waitForIdle()
|
||||
}
|
||||
// disabling wifi to prevent downloads in the background
|
||||
setNetworkEnabled(enabled = false)
|
||||
restartApp(composeTestRule.activityRule)
|
||||
navigationToolbar {
|
||||
}.enterURLAndEnterToBrowser("about:cache".toUri()) {
|
||||
verifyNetworkCacheIsEmpty("memory")
|
||||
verifyNetworkCacheIsEmpty("disk")
|
||||
}
|
||||
setNetworkEnabled(enabled = true)
|
||||
}
|
||||
}
|
||||
|
|
@ -34,14 +34,17 @@ import org.mozilla.fenix.ui.robots.navigationToolbar
|
|||
*
|
||||
*/
|
||||
class SettingsDeleteBrowsingDataOnQuitTest : TestSetup() {
|
||||
|
||||
val activityTestRule = HomeActivityIntentTestRule.withDefaultSettingsOverrides(skipOnboarding = true)
|
||||
|
||||
@get:Rule
|
||||
val composeTestRule = AndroidComposeTestRule(activityTestRule) { it.activity }
|
||||
@get:Rule(order = 0)
|
||||
val composeTestRule =
|
||||
AndroidComposeTestRule(
|
||||
HomeActivityIntentTestRule.withDefaultSettingsOverrides(
|
||||
skipOnboarding = true,
|
||||
tabsTrayRewriteEnabled = true,
|
||||
),
|
||||
) { it.activity }
|
||||
|
||||
// Automatically allows app permissions, avoiding a system dialog showing up.
|
||||
@get:Rule
|
||||
@get:Rule(order = 1)
|
||||
val grantPermissionRule: GrantPermissionRule = GrantPermissionRule.grant(
|
||||
Manifest.permission.RECORD_AUDIO,
|
||||
)
|
||||
|
|
@ -92,10 +95,10 @@ class SettingsDeleteBrowsingDataOnQuitTest : TestSetup() {
|
|||
}.goToHomescreen {
|
||||
}.openThreeDotMenu {
|
||||
clickQuit()
|
||||
restartApp(activityTestRule)
|
||||
restartApp(composeTestRule.activityRule)
|
||||
}
|
||||
navigationToolbar {
|
||||
}.openTabTray {
|
||||
homeScreen {
|
||||
}.openComposeTabDrawer(composeTestRule) {
|
||||
verifyNoOpenTabsInNormalBrowsing()
|
||||
}
|
||||
}
|
||||
|
|
@ -118,7 +121,7 @@ class SettingsDeleteBrowsingDataOnQuitTest : TestSetup() {
|
|||
}.goToHomescreen {
|
||||
}.openThreeDotMenu {
|
||||
clickQuit()
|
||||
restartApp(activityTestRule)
|
||||
restartApp(composeTestRule.activityRule)
|
||||
}
|
||||
|
||||
homeScreen {
|
||||
|
|
@ -151,7 +154,7 @@ class SettingsDeleteBrowsingDataOnQuitTest : TestSetup() {
|
|||
}.goToHomescreen {
|
||||
}.openThreeDotMenu {
|
||||
clickQuit()
|
||||
restartApp(activityTestRule)
|
||||
restartApp(composeTestRule.activityRule)
|
||||
}
|
||||
|
||||
navigationToolbar {
|
||||
|
|
@ -186,7 +189,7 @@ class SettingsDeleteBrowsingDataOnQuitTest : TestSetup() {
|
|||
clickQuit()
|
||||
mDevice.waitForIdle()
|
||||
}
|
||||
restartApp(activityTestRule)
|
||||
restartApp(composeTestRule.activityRule)
|
||||
homeScreen {
|
||||
}.openThreeDotMenu {
|
||||
}.openDownloadsManager(composeTestRule) {
|
||||
|
|
@ -221,7 +224,7 @@ class SettingsDeleteBrowsingDataOnQuitTest : TestSetup() {
|
|||
clickQuit()
|
||||
mDevice.waitForIdle()
|
||||
}
|
||||
restartApp(activityTestRule)
|
||||
restartApp(composeTestRule.activityRule)
|
||||
navigationToolbar {
|
||||
}.enterURLAndEnterToBrowser(testPage.toUri()) {
|
||||
waitForPageToLoad()
|
||||
|
|
@ -253,7 +256,7 @@ class SettingsDeleteBrowsingDataOnQuitTest : TestSetup() {
|
|||
}
|
||||
// disabling wifi to prevent downloads in the background
|
||||
setNetworkEnabled(enabled = false)
|
||||
restartApp(activityTestRule)
|
||||
restartApp(composeTestRule.activityRule)
|
||||
navigationToolbar {
|
||||
}.enterURLAndEnterToBrowser("about:cache".toUri()) {
|
||||
verifyNetworkCacheIsEmpty("memory")
|
||||
|
|
|
|||
Loading…
Reference in a new issue