pull/600/head
Oana Horvath 4 years ago
parent 9dee73b238
commit 55a253d5c1

@ -39,12 +39,14 @@ import org.junit.Assert.assertTrue
import org.mozilla.fenix.R import org.mozilla.fenix.R
import org.mozilla.fenix.ext.components import org.mozilla.fenix.ext.components
import org.mozilla.fenix.helpers.Constants.LONG_CLICK_DURATION 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.TestAssetHelper.waitingTime
import org.mozilla.fenix.helpers.click import org.mozilla.fenix.helpers.click
import org.mozilla.fenix.helpers.ext.waitNotNull import org.mozilla.fenix.helpers.ext.waitNotNull
class BrowserRobot { class BrowserRobot {
private lateinit var sessionLoadedIdlingResource: SessionLoadedIdlingResource
fun verifyCurrentPrivateSession(context: Context) { fun verifyCurrentPrivateSession(context: Context) {
val session = context.components.core.sessionManager.selectedSession val session = context.components.core.sessionManager.selectedSession
assertTrue("Current session is private", session?.private!!) assertTrue("Current session is private", session?.private!!)
@ -52,13 +54,16 @@ class BrowserRobot {
fun verifyUrl(url: String) { fun verifyUrl(url: String) {
val mDevice = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation()) val mDevice = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation())
sessionLoadedIdlingResource = SessionLoadedIdlingResource()
mDevice.waitNotNull( mDevice.waitNotNull(
Until.findObject(By.res("org.mozilla.fenix.debug:id/mozac_browser_toolbar_url_view")), Until.findObject(By.res("org.mozilla.fenix.debug:id/mozac_browser_toolbar_url_view")),
waitingTime waitingTime
) )
TestAssetHelper.waitingTime runWithIdleRes(sessionLoadedIdlingResource) {
onView(withId(R.id.mozac_browser_toolbar_url_view)) onView(withId(R.id.mozac_browser_toolbar_url_view))
.check(matches(withText(containsString(url.replace("http://", ""))))) .check(matches(withText(containsString(url.replace("http://", "")))))
}
} }
fun verifyHelpUrl() { fun verifyHelpUrl() {
@ -79,11 +84,16 @@ class BrowserRobot {
*/ */
fun verifyPageContent(expectedText: String) { fun verifyPageContent(expectedText: String) {
sessionLoadedIdlingResource = SessionLoadedIdlingResource()
mDevice.waitNotNull( mDevice.waitNotNull(
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().textContains(expectedText)).waitForExists(waitingTime))
runWithIdleRes(sessionLoadedIdlingResource) {
assertTrue(mDevice.findObject(UiSelector().textContains(expectedText)).waitForExists(waitingTime))
}
} }
fun verifyTabCounter(expectedText: String) { fun verifyTabCounter(expectedText: String) {
@ -339,6 +349,8 @@ class BrowserRobot {
) )
passwordField.waitForExists(waitingTime) passwordField.waitForExists(waitingTime)
passwordField.setText(password) passwordField.setText(password)
// wait until the password is hidden
assertTrue(mDevice.findObject(UiSelector().text(password)).waitUntilGone(waitingTime))
} }
fun clickMediaPlayerPlayButton() { fun clickMediaPlayerPlayButton() {

Loading…
Cancel
Save