1
0
Fork 0

fix: broken UI tests (#5324)

master
Richard Pappalardo 2019-09-13 17:30:53 -07:00 committed by kglazko
parent 3787dd7b1f
commit 16ec5858ad
6 changed files with 25 additions and 12 deletions

View File

@ -54,6 +54,7 @@ class NavigationToolbarTest {
navigationToolbar { navigationToolbar {
}.enterURLAndEnterToBrowser(defaultWebPage.url) { }.enterURLAndEnterToBrowser(defaultWebPage.url) {
dismissTrackingOnboarding()
verifyPageContent(defaultWebPage.content) verifyPageContent(defaultWebPage.content)
}.openNavigationToolbar { }.openNavigationToolbar {
}.enterURLAndEnterToBrowser(nextWebPage.url) { }.enterURLAndEnterToBrowser(nextWebPage.url) {
@ -77,6 +78,7 @@ class NavigationToolbarTest {
navigationToolbar { navigationToolbar {
}.enterURLAndEnterToBrowser(defaultWebPage.url) { }.enterURLAndEnterToBrowser(defaultWebPage.url) {
dismissTrackingOnboarding()
verifyPageContent(defaultWebPage.content) verifyPageContent(defaultWebPage.content)
}.openNavigationToolbar { }.openNavigationToolbar {
}.enterURLAndEnterToBrowser(nextWebPage.url) { }.enterURLAndEnterToBrowser(nextWebPage.url) {
@ -101,6 +103,7 @@ class NavigationToolbarTest {
navigationToolbar { navigationToolbar {
}.enterURLAndEnterToBrowser(refreshWebPage.url) { }.enterURLAndEnterToBrowser(refreshWebPage.url) {
dismissTrackingOnboarding()
verifyPageContent("DEFAULT") verifyPageContent("DEFAULT")
} }
@ -120,6 +123,7 @@ class NavigationToolbarTest {
navigationToolbar { navigationToolbar {
}.enterURLAndEnterToBrowser(defaultWebPage.url) { }.enterURLAndEnterToBrowser(defaultWebPage.url) {
dismissTrackingOnboarding()
verifyPageContent(defaultWebPage.content) verifyPageContent(defaultWebPage.content)
} }
} }
@ -130,6 +134,7 @@ class NavigationToolbarTest {
navigationToolbar { navigationToolbar {
}.enterURLAndEnterToBrowser(loremIpsumWebPage.url) { }.enterURLAndEnterToBrowser(loremIpsumWebPage.url) {
dismissTrackingOnboarding()
verifyPageContent(loremIpsumWebPage.content) verifyPageContent(loremIpsumWebPage.content)
} }

View File

@ -50,20 +50,15 @@ class ShareButtonTest {
// - Visit a URL, wait until it's loaded // - Visit a URL, wait until it's loaded
navigationToolbar { navigationToolbar {
}.enterURLAndEnterToBrowser(defaultWebPage.url) { }.enterURLAndEnterToBrowser(defaultWebPage.url) {
dismissTrackingOnboarding()
verifyPageContent(defaultWebPage.content) verifyPageContent(defaultWebPage.content)
} }
// From the 3-dot menu next to the Select share menu // From the 3-dot menu next to the Select share menu
navigationToolbar { navigationToolbar {
}.openThreeDotMenu { }.openThreeDotMenu {
// Verify Share button exists, and click it
verifyShareButton() verifyShareButton()
clickShareButton() clickShareButton()
// Verify title
// Verify Send to Device title
// Verify Share a link title
verifyShareDialogTitle() verifyShareDialogTitle()
verifySendToDeviceTitle() verifySendToDeviceTitle()
verifyShareALinkTitle() verifyShareALinkTitle()

View File

@ -67,6 +67,7 @@ class TabbedBrowsingTest {
navigationToolbar { navigationToolbar {
}.openNewTabAndEnterToBrowser(defaultWebPage.url) { }.openNewTabAndEnterToBrowser(defaultWebPage.url) {
dismissTrackingOnboarding()
verifyPageContent(defaultWebPage.content) verifyPageContent(defaultWebPage.content)
verifyTabCounter("1") verifyTabCounter("1")
}.openHomeScreen { } }.openHomeScreen { }
@ -97,6 +98,8 @@ class TabbedBrowsingTest {
navigationToolbar { navigationToolbar {
}.openNewTabAndEnterToBrowser(defaultWebPage.url) { }.openNewTabAndEnterToBrowser(defaultWebPage.url) {
dismissTrackingOnboarding()
verifyPageContent(defaultWebPage.content) verifyPageContent(defaultWebPage.content)
verifyTabCounter("1") verifyTabCounter("1")
}.openHomeScreen { }.openHomeScreen {
@ -123,6 +126,7 @@ class TabbedBrowsingTest {
navigationToolbar { navigationToolbar {
}.enterURLAndEnterToBrowser(defaultWebPage.url) { }.enterURLAndEnterToBrowser(defaultWebPage.url) {
dismissTrackingOnboarding()
verifyPageContent(defaultWebPage.content) verifyPageContent(defaultWebPage.content)
}.openHomeScreen { } }.openHomeScreen { }

View File

@ -59,6 +59,7 @@ class ThreeDotMenuMainTest {
}.goBack { }.goBack {
}.openThreeDotMenu { }.openThreeDotMenu {
}.openHelp { }.openHelp {
dismissTrackingOnboarding()
verifyHelpUrl() verifyHelpUrl()
}.openHomeScreen { }.openHomeScreen {
}.openThreeDotMenu { }.openThreeDotMenu {

View File

@ -8,6 +8,7 @@ package org.mozilla.fenix.ui.robots
import androidx.test.espresso.Espresso.onView import androidx.test.espresso.Espresso.onView
import androidx.test.espresso.assertion.ViewAssertions.matches import androidx.test.espresso.assertion.ViewAssertions.matches
import androidx.test.espresso.matcher.ViewMatchers
import androidx.test.espresso.matcher.ViewMatchers.withId import androidx.test.espresso.matcher.ViewMatchers.withId
import androidx.test.espresso.matcher.ViewMatchers.withText import androidx.test.espresso.matcher.ViewMatchers.withText
import androidx.test.platform.app.InstrumentationRegistry import androidx.test.platform.app.InstrumentationRegistry
@ -24,19 +25,18 @@ class BrowserRobot {
fun verifyHelpUrl() { fun verifyHelpUrl() {
val mDevice = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation()) val mDevice = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation())
val redirectUrl = "https://support.mozilla.org/" val redirectUrl = "https://support.mozilla.org/"
mDevice.wait(Until.findObject(By.res("mozac_browser_toolbar_url_view")), TestAssetHelper.waitingTime)
mDevice.waitForIdle()
onView(withId(R.id.mozac_browser_toolbar_url_view)) onView(withId(R.id.mozac_browser_toolbar_url_view))
.check(matches(withText(containsString(redirectUrl)))) .check(matches(withText(containsString(redirectUrl))))
} }
fun verifyWhatsNewURL() { fun verifyWhatsNewURL() {
val mDevice = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation()) val mDevice = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation())
val redirectUrl = "https://support.mozilla.org/" val redirectUrl = "https://support.mozilla.org/"
mDevice.waitForIdle() mDevice.wait(Until.findObject(By.res("mozac_browser_toolbar_url_view")), TestAssetHelper.waitingTime)
onView(withId(R.id.mozac_browser_toolbar_url_view)) onView(withId(R.id.mozac_browser_toolbar_url_view))
.check(matches(withText(containsString(redirectUrl)))) .check(matches(withText(containsString(redirectUrl))))
} }
/* Asserts that the text within DOM element with ID="testContent" has the given text, i.e. /* Asserts that the text within DOM element with ID="testContent" has the given text, i.e.
@ -49,7 +49,12 @@ class BrowserRobot {
fun verifyTabCounter(expectedText: String) { fun verifyTabCounter(expectedText: String) {
onView(withId(R.id.counter_text)) onView(withId(R.id.counter_text))
.check((matches(withText(containsString(expectedText))))) .check((matches(withText(containsString(expectedText)))))
}
fun dismissTrackingOnboarding() {
mDevice.wait(Until.findObject(By.res("close_onboarding")), TestAssetHelper.waitingTime)
dismissOnboardingButton().click()
} }
class Transition { class Transition {
@ -79,6 +84,8 @@ fun browserScreen(interact: BrowserRobot.() -> Unit): BrowserRobot.Transition {
return BrowserRobot.Transition() return BrowserRobot.Transition()
} }
private fun dismissOnboardingButton() = onView(ViewMatchers.withId(R.id.close_onboarding))
fun navURLBar() = onView(withId(R.id.mozac_browser_toolbar_url_view)) fun navURLBar() = onView(withId(R.id.mozac_browser_toolbar_url_view))
private fun tabsCounter() = onView(withId(R.id.counter_box)) private fun tabsCounter() = onView(withId(R.id.counter_box))

View File

@ -60,6 +60,7 @@ fun navigationToolbar(interact: NavigationToolbarRobot.() -> Unit): NavigationTo
return NavigationToolbarRobot.Transition() return NavigationToolbarRobot.Transition()
} }
private fun dismissOnboardingButton() = onView(ViewMatchers.withId(R.id.close_onboarding))
private fun urlBar() = onView(ViewMatchers.withId(R.id.toolbar)) private fun urlBar() = onView(ViewMatchers.withId(R.id.toolbar))
private fun awesomeBar() = onView(ViewMatchers.withId(R.id.mozac_browser_toolbar_edit_url_view)) private fun awesomeBar() = onView(ViewMatchers.withId(R.id.mozac_browser_toolbar_edit_url_view))
private fun threeDotButton() = onView(ViewMatchers.withContentDescription("Menu")) private fun threeDotButton() = onView(ViewMatchers.withContentDescription("Menu"))