Oana Horvath 3 years ago
parent 0f2b64cb68
commit 1cb4361ef8

@ -652,12 +652,6 @@ class SmokeTest {
enhancedTrackingProtection { enhancedTrackingProtection {
verifyEnhancedTrackingProtectionNotice() verifyEnhancedTrackingProtectionNotice()
}.closeNotificationPopup {} }.closeNotificationPopup {}
browserScreen {
}.openThreeDotMenu {
}.openReportSiteIssue {
verifyUrl("webcompat.com/issues/new")
}
} }
@Test @Test
@ -1234,9 +1228,7 @@ class SmokeTest {
) )
customTabScreen { customTabScreen {
browserScreen { verifyCustomTabCloseButton()
verifyPageContent(customTabPage.content)
}
}.openMainMenu { }.openMainMenu {
verifyPoweredByTextIsDisplayed() verifyPoweredByTextIsDisplayed()
verifyCustomMenuItem(customMenuItem) verifyCustomMenuItem(customMenuItem)
@ -1261,9 +1253,7 @@ class SmokeTest {
) )
customTabScreen { customTabScreen {
browserScreen { verifyCustomTabCloseButton()
verifyPageContent(customTabPage.content)
}
}.openMainMenu { }.openMainMenu {
}.clickOpenInBrowserButton { }.clickOpenInBrowserButton {
verifyTabCounter("1") verifyTabCounter("1")

@ -7,6 +7,7 @@ import androidx.test.espresso.Espresso.onView
import androidx.test.espresso.action.ViewActions.click import androidx.test.espresso.action.ViewActions.click
import androidx.test.espresso.assertion.ViewAssertions.matches import androidx.test.espresso.assertion.ViewAssertions.matches
import androidx.test.espresso.matcher.ViewMatchers.isDisplayed import androidx.test.espresso.matcher.ViewMatchers.isDisplayed
import androidx.test.espresso.matcher.ViewMatchers.withContentDescription
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.uiautomator.UiSelector import androidx.test.uiautomator.UiSelector
@ -29,7 +30,10 @@ class CustomTabRobot {
} }
fun verifyPoweredByTextIsDisplayed() { fun verifyPoweredByTextIsDisplayed() {
mDevice.findObject(UiSelector().textContains("POWERED BY $appName")) assertTrue(
mDevice.findObject(UiSelector().textContains("POWERED BY $appName"))
.waitForExists(waitingTime)
)
} }
fun verifyOpenInBrowserButtonExists() { fun verifyOpenInBrowserButtonExists() {
@ -43,7 +47,11 @@ class CustomTabRobot {
fun verifyRefreshButtonExists() = assertTrue(refreshButton().waitForExists(waitingTime)) fun verifyRefreshButtonExists() = assertTrue(refreshButton().waitForExists(waitingTime))
fun verifyCustomMenuItem(label: String) { fun verifyCustomMenuItem(label: String) {
assertTrue(mDevice.findObject(UiSelector().text(label)).exists()) assertTrue(mDevice.findObject(UiSelector().text(label)).waitForExists(waitingTime))
}
fun verifyCustomTabCloseButton() {
closeButton().check(matches(isDisplayed()))
} }
class Transition { class Transition {
@ -82,3 +90,5 @@ private fun refreshButton() = mDevice.findObject(UiSelector().description("Refre
private fun forwardButton() = mDevice.findObject(UiSelector().description("Forward")) private fun forwardButton() = mDevice.findObject(UiSelector().description("Forward"))
private fun backButton() = mDevice.findObject(UiSelector().description("Back")) private fun backButton() = mDevice.findObject(UiSelector().description("Back"))
private fun closeButton() = onView(withContentDescription("Return to previous app"))

@ -2,6 +2,7 @@ package org.mozilla.fenix.ui.robots
import android.widget.RelativeLayout import android.widget.RelativeLayout
import androidx.test.espresso.Espresso.onView import androidx.test.espresso.Espresso.onView
import androidx.test.espresso.IdlingResourceTimeoutException
import androidx.test.espresso.action.ViewActions.click import androidx.test.espresso.action.ViewActions.click
import androidx.test.espresso.assertion.ViewAssertions.matches import androidx.test.espresso.assertion.ViewAssertions.matches
import androidx.test.espresso.matcher.ViewMatchers.Visibility import androidx.test.espresso.matcher.ViewMatchers.Visibility
@ -17,6 +18,7 @@ import androidx.test.espresso.matcher.ViewMatchers.withParent
import androidx.test.espresso.matcher.ViewMatchers.withText import androidx.test.espresso.matcher.ViewMatchers.withText
import androidx.test.rule.ActivityTestRule import androidx.test.rule.ActivityTestRule
import androidx.test.uiautomator.By import androidx.test.uiautomator.By
import androidx.test.uiautomator.UiSelector
import androidx.test.uiautomator.Until import androidx.test.uiautomator.Until
import org.hamcrest.CoreMatchers.allOf import org.hamcrest.CoreMatchers.allOf
import org.hamcrest.CoreMatchers.containsString import org.hamcrest.CoreMatchers.containsString
@ -38,9 +40,23 @@ import org.mozilla.fenix.helpers.ext.waitNotNull
class SettingsSubMenuAddonsManagerRobot { class SettingsSubMenuAddonsManagerRobot {
fun verifyAddonPrompt(addonName: String) = assertAddonPrompt(addonName) fun verifyAddonPrompt(addonName: String) = assertAddonPrompt(addonName)
fun clickInstallAddon(addonName: String) = selectInstallAddon(addonName) fun clickInstallAddon(addonName: String) = selectInstallAddon(addonName)
fun verifyDownloadAddonPrompt(addonName: String, activityTestRule: ActivityTestRule<HomeActivity>) =
assertDownloadingAddonPrompt(addonName, activityTestRule) fun verifyDownloadAddonPrompt(
addonName: String,
activityTestRule: ActivityTestRule<HomeActivity>
) {
try {
assertDownloadingAddonPrompt(addonName, activityTestRule)
} catch (e: IdlingResourceTimeoutException) {
if (mDevice.findObject(UiSelector().text("Failed to install $addonName")).exists()) {
clickInstallAddon(addonName)
acceptInstallAddon()
assertDownloadingAddonPrompt(addonName, activityTestRule)
}
}
}
fun cancelInstallAddon() = cancelInstall() fun cancelInstallAddon() = cancelInstall()
fun acceptInstallAddon() = allowInstall() fun acceptInstallAddon() = allowInstall()

Loading…
Cancel
Save