From 55a253d5c1c1ad3f453a08ab03b3d461c7b212c7 Mon Sep 17 00:00:00 2001 From: Oana Horvath Date: Thu, 10 Dec 2020 16:32:18 +0200 Subject: [PATCH] [fenix] Fix https://github.com/mozilla-mobile/fenix/issues/16960 & https://github.com/mozilla-mobile/fenix/issues/16959: updateSavedLoginTest, swipeToSwitchTabTest UI smoke tests --- .../mozilla/fenix/ui/robots/BrowserRobot.kt | 22 ++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/app/src/androidTest/java/org/mozilla/fenix/ui/robots/BrowserRobot.kt b/app/src/androidTest/java/org/mozilla/fenix/ui/robots/BrowserRobot.kt index efa91bc570..890274b3b0 100644 --- a/app/src/androidTest/java/org/mozilla/fenix/ui/robots/BrowserRobot.kt +++ b/app/src/androidTest/java/org/mozilla/fenix/ui/robots/BrowserRobot.kt @@ -39,12 +39,14 @@ import org.junit.Assert.assertTrue import org.mozilla.fenix.R import org.mozilla.fenix.ext.components import org.mozilla.fenix.helpers.Constants.LONG_CLICK_DURATION -import org.mozilla.fenix.helpers.TestAssetHelper +import org.mozilla.fenix.helpers.SessionLoadedIdlingResource import org.mozilla.fenix.helpers.TestAssetHelper.waitingTime import org.mozilla.fenix.helpers.click import org.mozilla.fenix.helpers.ext.waitNotNull class BrowserRobot { + private lateinit var sessionLoadedIdlingResource: SessionLoadedIdlingResource + fun verifyCurrentPrivateSession(context: Context) { val session = context.components.core.sessionManager.selectedSession assertTrue("Current session is private", session?.private!!) @@ -52,13 +54,16 @@ class BrowserRobot { fun verifyUrl(url: String) { val mDevice = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation()) + sessionLoadedIdlingResource = SessionLoadedIdlingResource() + mDevice.waitNotNull( Until.findObject(By.res("org.mozilla.fenix.debug:id/mozac_browser_toolbar_url_view")), waitingTime ) - TestAssetHelper.waitingTime - onView(withId(R.id.mozac_browser_toolbar_url_view)) - .check(matches(withText(containsString(url.replace("http://", ""))))) + runWithIdleRes(sessionLoadedIdlingResource) { + onView(withId(R.id.mozac_browser_toolbar_url_view)) + .check(matches(withText(containsString(url.replace("http://", ""))))) + } } fun verifyHelpUrl() { @@ -79,11 +84,16 @@ class BrowserRobot { */ fun verifyPageContent(expectedText: String) { + sessionLoadedIdlingResource = SessionLoadedIdlingResource() + mDevice.waitNotNull( Until.findObject(By.res("org.mozilla.fenix.debug:id/engineView")), waitingTime ) - assertTrue(mDevice.findObject(UiSelector().textContains(expectedText)).waitForExists(waitingTime)) + + runWithIdleRes(sessionLoadedIdlingResource) { + assertTrue(mDevice.findObject(UiSelector().textContains(expectedText)).waitForExists(waitingTime)) + } } fun verifyTabCounter(expectedText: String) { @@ -339,6 +349,8 @@ class BrowserRobot { ) passwordField.waitForExists(waitingTime) passwordField.setText(password) + // wait until the password is hidden + assertTrue(mDevice.findObject(UiSelector().text(password)).waitUntilGone(waitingTime)) } fun clickMediaPlayerPlayButton() {