[fenix] Split UI smoke tests into smaller tests

pull/600/head
Oana Horvath 4 years ago
parent aad3ac3c60
commit 5d93a533c5

@ -125,32 +125,71 @@ class SmokeTest {
@Test @Test
fun verifyPageMainMenuItemsTest() { fun verifyPageMainMenuItemsTest() {
val defaultWebPage = TestAssetHelper.getGenericAsset(mockWebServer, 1) val defaultWebPage = TestAssetHelper.getGenericAsset(mockWebServer, 1)
// Add this to check openInApp and youtube is a default app available in every Android emulator/device
val youtubeUrl = "www.youtube.com"
navigationToolbar { navigationToolbar {
}.enterURLAndEnterToBrowser(defaultWebPage.url) { }.enterURLAndEnterToBrowser(defaultWebPage.url) {
}.openThreeDotMenu { }.openThreeDotMenu {
verifyThreeDotMainMenuItems() verifyThreeDotMainMenuItems()
}
}
// Could be removed when more smoke tests from the History category are added
@Test
fun openMainMenuHistoryItemTest() {
homeScreen {
}.openThreeDotMenu {
}.openHistory { }.openHistory {
verifyHistoryMenuView() verifyHistoryMenuView()
}.goBackToBrowser { }
}
// Could be removed when more smoke tests from the Bookmarks category are added
@Test
fun openMainMenuBookmarksItemTest() {
homeScreen {
}.openThreeDotMenu { }.openThreeDotMenu {
}.openBookmarks { }.openBookmarks {
verifyBookmarksMenuView() verifyBookmarksMenuView()
}.goBackToBrowser { }
}
@Test
fun openMainMenuSyncedTabsItemTest() {
homeScreen {
}.openThreeDotMenu { }.openThreeDotMenu {
}.openSyncedTabs { }.openSyncedTabs {
verifySyncedTabsMenuHeader() verifySyncedTabsMenuHeader()
}.goBack { }
}
// Could be removed when more smoke tests from the Settings category are added
@Test
fun openMainMenuSettingsItemTest() {
homeScreen {
}.openThreeDotMenu { }.openThreeDotMenu {
}.openSettings { }.openSettings {
verifySettingsView() verifySettingsView()
}.goBackToBrowser { }
}
@Test
fun openMainMenuFindInPageTest() {
val defaultWebPage = TestAssetHelper.getGenericAsset(mockWebServer, 1)
navigationToolbar {
}.enterURLAndEnterToBrowser(defaultWebPage.url) {
}.openThreeDotMenu { }.openThreeDotMenu {
}.openFindInPage { }.openFindInPage {
verifyFindInPageSearchBarItems() verifyFindInPageSearchBarItems()
}.closeFindInPage { }
}
@Test
fun openMainMenuAddTopSiteTest() {
val defaultWebPage = TestAssetHelper.getGenericAsset(mockWebServer, 1)
navigationToolbar {
}.enterURLAndEnterToBrowser(defaultWebPage.url) {
}.openThreeDotMenu { }.openThreeDotMenu {
}.addToFirefoxHome { }.addToFirefoxHome {
verifySnackBarText("Added to top sites!") verifySnackBarText("Added to top sites!")
@ -158,30 +197,84 @@ class SmokeTest {
}.openNewTab { }.openNewTab {
}.dismissSearchBar { }.dismissSearchBar {
verifyExistingTopSitesTabs(defaultWebPage.title) verifyExistingTopSitesTabs(defaultWebPage.title)
}.openTabDrawer { }
}.openTab(defaultWebPage.title) { }
@Test
fun mainMenuAddToHomeScreenTest() {
val defaultWebPage = TestAssetHelper.getGenericAsset(mockWebServer, 1)
navigationToolbar {
}.enterURLAndEnterToBrowser(defaultWebPage.url) {
}.openThreeDotMenu { }.openThreeDotMenu {
}.openAddToHomeScreen { }.openAddToHomeScreen {
verifyShortcutNameField(defaultWebPage.title) verifyShortcutNameField(defaultWebPage.title)
clickAddShortcutButton() clickAddShortcutButton()
clickAddAutomaticallyButton() clickAddAutomaticallyButton()
}.openHomeScreenShortcut(defaultWebPage.title) { }.openHomeScreenShortcut(defaultWebPage.title) {
verifyPageContent(defaultWebPage.content)
}
}
@Test
fun openMainMenuAddToCollectionTest() {
val defaultWebPage = TestAssetHelper.getGenericAsset(mockWebServer, 1)
navigationToolbar {
}.enterURLAndEnterToBrowser(defaultWebPage.url) {
}.openThreeDotMenu { }.openThreeDotMenu {
}.openSaveToCollection { }.openSaveToCollection {
verifyCollectionNameTextField() verifyCollectionNameTextField()
}.exitSaveCollection { }
}
@Test
fun mainMenuBookmarkButtonTest() {
val defaultWebPage = TestAssetHelper.getGenericAsset(mockWebServer, 1)
navigationToolbar {
}.enterURLAndEnterToBrowser(defaultWebPage.url) {
}.openThreeDotMenu { }.openThreeDotMenu {
}.bookmarkPage { }.bookmarkPage {
verifySnackBarText("Bookmark saved!") verifySnackBarText("Bookmark saved!")
}
}
@Test
fun mainMenuShareButtonTest() {
val defaultWebPage = TestAssetHelper.getGenericAsset(mockWebServer, 1)
navigationToolbar {
}.enterURLAndEnterToBrowser(defaultWebPage.url) {
}.openThreeDotMenu { }.openThreeDotMenu {
}.sharePage { }.sharePage {
verifyShareAppsLayout() verifyShareAppsLayout()
}.closeShareDialogReturnToPage { }
}
@Test
fun mainMenuRefreshButtonTest() {
val refreshWebPage = TestAssetHelper.getRefreshAsset(mockWebServer)
navigationToolbar {
}.enterURLAndEnterToBrowser(refreshWebPage.url) {
mDevice.waitForIdle()
}.openThreeDotMenu { }.openThreeDotMenu {
verifyThreeDotMenuExists()
verifyRefreshButton()
}.refreshPage { }.refreshPage {
verifyUrl(defaultWebPage.url.toString()) verifyPageContent("REFRESHED")
}.openNavigationToolbar { }
}
@Test
fun mainMenuOpenInAppTest() {
// Using youtube as is a default app available in every Android emulator/device
val youtubeUrl = "www.youtube.com"
navigationToolbar {
}.enterURLAndEnterToBrowser(youtubeUrl.toUri()) { }.enterURLAndEnterToBrowser(youtubeUrl.toUri()) {
verifyPageContent("YouTube")
}.openThreeDotMenu { }.openThreeDotMenu {
verifyOpenInAppButton() verifyOpenInAppButton()
} }
@ -209,7 +302,6 @@ class SmokeTest {
}.goBackToBrowser { }.goBackToBrowser {
clickEnhancedTrackingProtectionPanel() clickEnhancedTrackingProtectionPanel()
verifyEnhancedTrackingProtectionSwitch() verifyEnhancedTrackingProtectionSwitch()
// Turning off TP Switch results in adding the WebPage to exception list
clickEnhancedTrackingProtectionSwitchOffOn() clickEnhancedTrackingProtectionSwitchOffOn()
} }
} }

@ -82,7 +82,7 @@ class BrowserRobot {
Until.findObject(By.res("org.mozilla.fenix.debug:id/engineView")), Until.findObject(By.res("org.mozilla.fenix.debug:id/engineView")),
waitingTime waitingTime
) )
assertTrue(mDevice.findObject(UiSelector().text(expectedText)).waitForExists(waitingTime)) assertTrue(mDevice.findObject(UiSelector().textContains(expectedText)).waitForExists(waitingTime))
} }
fun verifyTabCounter(expectedText: String) { fun verifyTabCounter(expectedText: String) {

@ -519,8 +519,6 @@ private fun assertDesktopSite() {
desktopSiteButton().check(matches(isDisplayed())) desktopSiteButton().check(matches(isDisplayed()))
} }
private fun openInAppButton() =
onView(allOf(withText(R.string.browser_menu_open_app_link)))
private fun assertOpenInAppButton() { private fun assertOpenInAppButton() {
onView(withId(R.id.mozac_browser_menu_recyclerView)) onView(withId(R.id.mozac_browser_menu_recyclerView))
.perform( .perform(

Loading…
Cancel
Save