Bug 1807268 - Re-enable verifyShowClipboardSuggestionsToggleTest UI test r=jajohnson
[gecko.git] / mobile / android / fenix / app / src / androidTest / java / org / mozilla / fenix / ui / NavigationToolbarTest.kt
bloba486a4e6764a9e90d6b9c3c2776f380482bc7f13
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.core.net.toUri
8 import org.junit.Rule
9 import org.junit.Test
10 import org.mozilla.fenix.customannotations.SmokeTest
11 import org.mozilla.fenix.helpers.AppAndSystemHelper.runWithSystemLocaleChanged
12 import org.mozilla.fenix.helpers.HomeActivityTestRule
13 import org.mozilla.fenix.helpers.TestAssetHelper
14 import org.mozilla.fenix.helpers.TestHelper.mDevice
15 import org.mozilla.fenix.helpers.TestSetup
16 import org.mozilla.fenix.ui.robots.homeScreen
17 import org.mozilla.fenix.ui.robots.navigationToolbar
18 import java.util.Locale
20 /**
21  *  Tests for verifying basic functionality of browser navigation and page related interactions
22  *
23  *  Including:
24  *  - Visiting a URL
25  *  - Back and Forward navigation
26  *  - Refresh
27  *  - Find in page
28  */
30 class NavigationToolbarTest : TestSetup() {
31     @get:Rule
32     val activityTestRule = HomeActivityTestRule.withDefaultSettingsOverrides()
34     // TestRail link: https://testrail.stage.mozaws.net/index.php?/cases/view/987326
35     // Swipes the nav bar left/right to switch between tabs
36     @SmokeTest
37     @Test
38     fun swipeToSwitchTabTest() {
39         val firstWebPage = TestAssetHelper.getGenericAsset(mockWebServer, 1)
40         val secondWebPage = TestAssetHelper.getGenericAsset(mockWebServer, 2)
42         navigationToolbar {
43         }.enterURLAndEnterToBrowser(firstWebPage.url) {
44         }.openTabDrawer {
45         }.openNewTab {
46         }.submitQuery(secondWebPage.url.toString()) {
47             swipeNavBarRight(secondWebPage.url.toString())
48             verifyUrl(firstWebPage.url.toString())
49             swipeNavBarLeft(firstWebPage.url.toString())
50             verifyUrl(secondWebPage.url.toString())
51         }
52     }
54     // TestRail link: https://testrail.stage.mozaws.net/index.php?/cases/view/987327
55     // Because it requires changing system prefs, this test will run only on Debug builds
56     @Test
57     fun swipeToSwitchTabInRTLTest() {
58         val firstWebPage = TestAssetHelper.getGenericAsset(mockWebServer, 1)
59         val secondWebPage = TestAssetHelper.getGenericAsset(mockWebServer, 2)
60         val arabicLocale = Locale("ar", "AR")
62         runWithSystemLocaleChanged(arabicLocale, activityTestRule) {
63             navigationToolbar {
64             }.enterURLAndEnterToBrowser(firstWebPage.url) {
65             }.openTabDrawer {
66             }.openNewTab {
67             }.submitQuery(secondWebPage.url.toString()) {
68                 swipeNavBarLeft(secondWebPage.url.toString())
69                 verifyUrl(firstWebPage.url.toString())
70                 swipeNavBarRight(firstWebPage.url.toString())
71                 verifyUrl(secondWebPage.url.toString())
72             }
73         }
74     }
76     // TestRail link: https://testrail.stage.mozaws.net/index.php?/cases/view/2265279
77     @SmokeTest
78     @Test
79     fun verifySecurePageSecuritySubMenuTest() {
80         val defaultWebPage = "https://mozilla-mobile.github.io/testapp/loginForm"
81         val defaultWebPageTitle = "Login_form"
83         navigationToolbar {
84         }.enterURLAndEnterToBrowser(defaultWebPage.toUri()) {
85             waitForPageToLoad()
86         }.openSiteSecuritySheet {
87             verifyQuickActionSheet(defaultWebPage, true)
88             openSecureConnectionSubMenu(true)
89             verifySecureConnectionSubMenu(defaultWebPageTitle, defaultWebPage, true)
90         }
91     }
93     // TestRail link: https://testrail.stage.mozaws.net/index.php?/cases/view/2265280
94     @SmokeTest
95     @Test
96     fun verifyInsecurePageSecuritySubMenuTest() {
97         val defaultWebPage = TestAssetHelper.getGenericAsset(mockWebServer, 1)
99         navigationToolbar {
100         }.enterURLAndEnterToBrowser(defaultWebPage.url) {
101             waitForPageToLoad()
102         }.openSiteSecuritySheet {
103             verifyQuickActionSheet(defaultWebPage.url.toString(), false)
104             openSecureConnectionSubMenu(false)
105             verifySecureConnectionSubMenu(defaultWebPage.title, defaultWebPage.url.toString(), false)
106         }
107     }
109     // TestRail link: https://testrail.stage.mozaws.net/index.php?/cases/view/1661318
110     @SmokeTest
111     @Test
112     fun verifyClearCookiesFromQuickSettingsTest() {
113         val helpPageUrl = "mozilla.org"
115         homeScreen {
116         }.openThreeDotMenu {
117         }.openHelp {
118         }.openSiteSecuritySheet {
119             clickQuickActionSheetClearSiteData()
120             verifyClearSiteDataPrompt(helpPageUrl)
121         }
122     }
124     // TestRail link: https://testrail.stage.mozaws.net/index.php?/cases/view/1360555
125     @SmokeTest
126     @Test
127     fun goToHomeScreenTest() {
128         val genericURL = TestAssetHelper.getGenericAsset(mockWebServer, 1)
130         navigationToolbar {
131         }.enterURLAndEnterToBrowser(genericURL.url) {
132             mDevice.waitForIdle()
133         }.goToHomescreen {
134             verifyHomeScreen()
135         }
136     }
138     // TestRail link: https://testrail.stage.mozaws.net/index.php?/cases/view/2256552
139     @SmokeTest
140     @Test
141     fun goToHomeScreenInPrivateModeTest() {
142         val genericURL = TestAssetHelper.getGenericAsset(mockWebServer, 1)
144         homeScreen {
145             togglePrivateBrowsingModeOnOff()
146         }
148         navigationToolbar {
149         }.enterURLAndEnterToBrowser(genericURL.url) {
150             mDevice.waitForIdle()
151         }.goToHomescreen {
152             verifyHomeScreen()
153         }
154     }