Bug 1827192 - Move main menu items related UI tests to a new class

fenix/114.1.0
AndiAJ 1 year ago committed by mergify[bot]
parent d9723dce40
commit ac88dd38c5

@ -0,0 +1,197 @@
package org.mozilla.fenix.ui
import androidx.test.platform.app.InstrumentationRegistry
import androidx.test.uiautomator.UiDevice
import okhttp3.mockwebserver.MockWebServer
import org.junit.After
import org.junit.Before
import org.junit.Rule
import org.junit.Test
import org.mozilla.fenix.R
import org.mozilla.fenix.customannotations.SmokeTest
import org.mozilla.fenix.helpers.AndroidAssetDispatcher
import org.mozilla.fenix.helpers.HomeActivityTestRule
import org.mozilla.fenix.helpers.RecyclerViewIdlingResource
import org.mozilla.fenix.helpers.TestAssetHelper
import org.mozilla.fenix.helpers.TestHelper
import org.mozilla.fenix.ui.robots.navigationToolbar
class MainMenuTest {
private lateinit var mDevice: UiDevice
private lateinit var mockWebServer: MockWebServer
@get:Rule
val activityTestRule = HomeActivityTestRule.withDefaultSettingsOverrides()
@Before
fun setUp() {
mDevice = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation())
mockWebServer = MockWebServer().apply {
dispatcher = AndroidAssetDispatcher()
start()
}
}
@After
fun tearDown() {
mockWebServer.shutdown()
}
@SmokeTest
@Test
fun verifyPageMainMenuItemsTest() {
val defaultWebPage = TestAssetHelper.getGenericAsset(mockWebServer, 1)
navigationToolbar {
}.enterURLAndEnterToBrowser(defaultWebPage.url) {
waitForPageToLoad()
}.openThreeDotMenu {
verifyPageThreeDotMainMenuItems(isRequestDesktopSiteEnabled = false)
}
}
@SmokeTest
@Test
fun openMainMenuBookmarksItemTest() {
val defaultWebPage = TestAssetHelper.getGenericAsset(mockWebServer, 1)
navigationToolbar {
}.enterURLAndEnterToBrowser(defaultWebPage.url) {
}.openThreeDotMenu {
}.openBookmarks {
verifyBookmarksMenuView()
}
}
@SmokeTest
@Test
fun openMainMenuHistoryItemTest() {
val defaultWebPage = TestAssetHelper.getGenericAsset(mockWebServer, 1)
navigationToolbar {
}.enterURLAndEnterToBrowser(defaultWebPage.url) {
}.openThreeDotMenu {
}.openHistory {
verifyHistoryListExists()
}
}
@SmokeTest
@Test
fun openMainMenuAddonsTest() {
val defaultWebPage = TestAssetHelper.getGenericAsset(mockWebServer, 1)
navigationToolbar {
}.enterURLAndEnterToBrowser(defaultWebPage.url) {
}.openThreeDotMenu {
}.openAddonsManagerMenu {
TestHelper.registerAndCleanupIdlingResources(
RecyclerViewIdlingResource(
activityTestRule.activity.findViewById(R.id.add_ons_list),
1,
),
) {
verifyAddonsItems()
}
}
}
@SmokeTest
@Test
fun openMainMenuSyncItemTest() {
val defaultWebPage = TestAssetHelper.getGenericAsset(mockWebServer, 1)
navigationToolbar {
}.enterURLAndEnterToBrowser(defaultWebPage.url) {
mDevice.waitForIdle()
}.openThreeDotMenu {
}.openSyncSignIn {
verifyTurnOnSyncMenu()
}
}
@SmokeTest
@Test
fun openMainMenuFindInPageTest() {
val defaultWebPage = TestAssetHelper.getGenericAsset(mockWebServer, 1)
navigationToolbar {
}.enterURLAndEnterToBrowser(defaultWebPage.url) {
}.openThreeDotMenu {
}.openFindInPage {
verifyFindInPageSearchBarItems()
}
}
@SmokeTest
@Test
fun mainMenuDesktopSiteTest() {
val defaultWebPage = TestAssetHelper.getGenericAsset(mockWebServer, 1)
navigationToolbar {
}.enterURLAndEnterToBrowser(defaultWebPage.url) {
}.openThreeDotMenu {
}.switchDesktopSiteMode {
}.openThreeDotMenu {
verifyDesktopSiteModeEnabled(true)
}
}
@SmokeTest
@Test
fun openMainMenuAddToCollectionTest() {
val defaultWebPage = TestAssetHelper.getGenericAsset(mockWebServer, 1)
navigationToolbar {
}.enterURLAndEnterToBrowser(defaultWebPage.url) {
}.openThreeDotMenu {
}.openSaveToCollection {
verifyCollectionNameTextField()
}
}
// Test running on beta/release builds in CI:
// caution when making changes to it, so they don't block the builds
@SmokeTest
@Test
fun openMainMenuSettingsItemTest() {
val defaultWebPage = TestAssetHelper.getGenericAsset(mockWebServer, 1)
navigationToolbar {
}.enterURLAndEnterToBrowser(defaultWebPage.url) {
}.openThreeDotMenu {
}.openSettings {
verifySettingsView()
}
}
@SmokeTest
@Test
fun mainMenuShareButtonTest() {
val defaultWebPage = TestAssetHelper.getGenericAsset(mockWebServer, 1)
navigationToolbar {
}.enterURLAndEnterToBrowser(defaultWebPage.url) {
}.openThreeDotMenu {
}.clickShareButton {
verifyShareTabLayout()
verifySendToDeviceTitle()
verifyShareALinkTitle()
}
}
@SmokeTest
@Test
fun mainMenuRefreshButtonTest() {
val refreshWebPage = TestAssetHelper.getRefreshAsset(mockWebServer)
navigationToolbar {
}.enterURLAndEnterToBrowser(refreshWebPage.url) {
mDevice.waitForIdle()
}.openThreeDotMenu {
verifyThreeDotMenuExists()
}.refreshPage {
verifyPageContent("REFRESHED")
}
}
}

@ -113,120 +113,6 @@ class SmokeTest {
}
}
// Verifies the list of items in a tab's 3 dot menu
@Test
fun verifyPageMainMenuItemsTest() {
val defaultWebPage = TestAssetHelper.getGenericAsset(mockWebServer, 1)
navigationToolbar {
}.enterURLAndEnterToBrowser(defaultWebPage.url) {
waitForPageToLoad()
}.openThreeDotMenu {
verifyPageThreeDotMainMenuItems(isRequestDesktopSiteEnabled = false)
}
}
// Could be removed when more smoke tests from the History category are added
// Verifies the History menu opens from a tab's 3 dot menu
@Test
fun openMainMenuHistoryItemTest() {
val defaultWebPage = TestAssetHelper.getGenericAsset(mockWebServer, 1)
navigationToolbar {
}.enterURLAndEnterToBrowser(defaultWebPage.url) {
}.openThreeDotMenu {
}.openHistory {
verifyHistoryListExists()
}
}
// Could be removed when more smoke tests from the Bookmarks category are added
// Verifies the Bookmarks menu opens from a tab's 3 dot menu
@Test
fun openMainMenuBookmarksItemTest() {
val defaultWebPage = TestAssetHelper.getGenericAsset(mockWebServer, 1)
navigationToolbar {
}.enterURLAndEnterToBrowser(defaultWebPage.url) {
}.openThreeDotMenu {
}.openBookmarks {
verifyBookmarksMenuView()
}
}
// Verifies the Add-ons menu opens from a tab's 3 dot menu
@Test
fun openMainMenuAddonsTest() {
val defaultWebPage = TestAssetHelper.getGenericAsset(mockWebServer, 1)
navigationToolbar {
}.enterURLAndEnterToBrowser(defaultWebPage.url) {
}.openThreeDotMenu {
}.openAddonsManagerMenu {
registerAndCleanupIdlingResources(
RecyclerViewIdlingResource(activityTestRule.activity.findViewById(R.id.add_ons_list), 1),
) {
verifyAddonsItems()
}
}
}
// Verifies the Synced tabs menu or Sync Sign In menu opens from a tab's 3 dot menu.
// The test is assuming we are NOT signed in.
@Test
fun openMainMenuSyncItemTest() {
val defaultWebPage = TestAssetHelper.getGenericAsset(mockWebServer, 1)
navigationToolbar {
}.enterURLAndEnterToBrowser(defaultWebPage.url) {
mDevice.waitForIdle()
}.openThreeDotMenu {
}.openSyncSignIn {
verifyTurnOnSyncMenu()
}
}
// Test running on beta/release builds in CI:
// caution when making changes to it, so they don't block the builds
// Verifies the Settings menu opens from a tab's 3 dot menu
@Test
fun openMainMenuSettingsItemTest() {
val defaultWebPage = TestAssetHelper.getGenericAsset(mockWebServer, 1)
navigationToolbar {
}.enterURLAndEnterToBrowser(defaultWebPage.url) {
}.openThreeDotMenu {
}.openSettings {
verifySettingsView()
}
}
// Verifies the Find in page option in a tab's 3 dot menu
@Test
fun openMainMenuFindInPageTest() {
val defaultWebPage = TestAssetHelper.getGenericAsset(mockWebServer, 1)
navigationToolbar {
}.enterURLAndEnterToBrowser(defaultWebPage.url) {
}.openThreeDotMenu {
}.openFindInPage {
verifyFindInPageSearchBarItems()
}
}
// Verifies the Add to collection option in a tab's 3 dot menu
@Test
fun openMainMenuAddToCollectionTest() {
val defaultWebPage = TestAssetHelper.getGenericAsset(mockWebServer, 1)
navigationToolbar {
}.enterURLAndEnterToBrowser(defaultWebPage.url) {
}.openThreeDotMenu {
}.openSaveToCollection {
verifyCollectionNameTextField()
}
}
// Verifies the Bookmark button in a tab's 3 dot menu
@Test
fun mainMenuBookmarkButtonTest() {
@ -255,50 +141,6 @@ class SmokeTest {
}
}
// Verifies the Desktop site toggle in a tab's 3 dot menu
@Test
fun mainMenuDesktopSiteTest() {
val defaultWebPage = TestAssetHelper.getGenericAsset(mockWebServer, 1)
navigationToolbar {
}.enterURLAndEnterToBrowser(defaultWebPage.url) {
}.openThreeDotMenu {
}.switchDesktopSiteMode {
}.openThreeDotMenu {
verifyDesktopSiteModeEnabled(true)
}
}
// Verifies the Share button in a tab's 3 dot menu
@Test
fun mainMenuShareButtonTest() {
val defaultWebPage = TestAssetHelper.getGenericAsset(mockWebServer, 1)
navigationToolbar {
}.enterURLAndEnterToBrowser(defaultWebPage.url) {
}.openThreeDotMenu {
}.clickShareButton {
verifyShareTabLayout()
verifySendToDeviceTitle()
verifyShareALinkTitle()
}
}
// Verifies the refresh button in a tab's 3 dot menu
@Test
fun mainMenuRefreshButtonTest() {
val refreshWebPage = TestAssetHelper.getRefreshAsset(mockWebServer)
navigationToolbar {
}.enterURLAndEnterToBrowser(refreshWebPage.url) {
mDevice.waitForIdle()
}.openThreeDotMenu {
verifyThreeDotMenuExists()
}.refreshPage {
verifyPageContent("REFRESHED")
}
}
// Verifies changing the default engine from the Search Shortcut menu
@Test
fun selectSearchEnginesShortcutTest() {

@ -22,7 +22,7 @@ gcloud:
test-targets:
- class org.mozilla.fenix.ui.NavigationToolbarTest#visitURLTest
- class org.mozilla.fenix.ui.HistoryTest#visitedUrlHistoryTest
- class org.mozilla.fenix.ui.SmokeTest#openMainMenuSettingsItemTest
- class org.mozilla.fenix.ui.MainMenuTest#openMainMenuSettingsItemTest
- class org.mozilla.fenix.ui.SettingsSearchTest#toggleSearchSuggestionsTest
- class org.mozilla.fenix.ui.CollectionTest#deleteCollectionTest
- class org.mozilla.fenix.ui.SmokeTest#noHistoryInPrivateBrowsingTest

@ -26,7 +26,7 @@ gcloud:
- class org.mozilla.fenix.ui.NavigationToolbarTest#goBackTest
- class org.mozilla.fenix.ui.NavigationToolbarTest#goForwardTest
- class org.mozilla.fenix.ui.HistoryTest#visitedUrlHistoryTest
- class org.mozilla.fenix.ui.SmokeTest#openMainMenuSettingsItemTest
- class org.mozilla.fenix.ui.MainMenuTest#openMainMenuSettingsItemTest
- class org.mozilla.fenix.ui.SettingsSearchTest#toggleSearchSuggestionsTest
- class org.mozilla.fenix.ui.CollectionTest#deleteCollectionTest
- class org.mozilla.fenix.ui.SmokeTest#noHistoryInPrivateBrowsingTest

@ -22,7 +22,7 @@ gcloud:
test-targets:
- class org.mozilla.fenix.ui.NavigationToolbarTest#visitURLTest
- class org.mozilla.fenix.ui.HistoryTest#visitedUrlHistoryTest
- class org.mozilla.fenix.ui.SmokeTest#openMainMenuSettingsItemTest
- class org.mozilla.fenix.ui.MainMenuTest#openMainMenuSettingsItemTest
- class org.mozilla.fenix.ui.SettingsSearchTest#toggleSearchSuggestionsTest
- class org.mozilla.fenix.ui.CollectionTest#deleteCollectionTest
- class org.mozilla.fenix.ui.SmokeTest#noHistoryInPrivateBrowsingTest

Loading…
Cancel
Save