[fenix] For https://github.com/mozilla-mobile/fenix/issues/18647: Fixed and re-enabled customTrackingProtectionSettingsTest UI test

pull/600/head
Oana Horvath 3 years ago
parent 57df4f3fcc
commit 3fc5d43336

@ -407,9 +407,9 @@ class SmokeTest {
} }
} }
@Ignore("Failing, see https://github.com/mozilla-mobile/fenix/issues/18647")
@Test @Test
fun customTrackingProtectionSettingsTest() { fun customTrackingProtectionSettingsTest() {
val genericWebPage = TestAssetHelper.getGenericAsset(mockWebServer, 1)
val trackingPage = TestAssetHelper.getEnhancedTrackingProtectionAsset(mockWebServer) val trackingPage = TestAssetHelper.getEnhancedTrackingProtectionAsset(mockWebServer)
homeScreen { homeScreen {
@ -422,10 +422,14 @@ class SmokeTest {
}.goBackToHomeScreen {} }.goBackToHomeScreen {}
navigationToolbar { navigationToolbar {
}.openTrackingProtectionTestPage(trackingPage.url, true) {} // browsing a basic page to allow GV to load on a fresh run
}.enterURLAndEnterToBrowser(genericWebPage.url) {
}.openNavigationToolbar {
}.openTrackingProtectionTestPage(trackingPage.url, true) {
dismissTrackingOnboarding()
}
enhancedTrackingProtection { enhancedTrackingProtection {
dismissTrackingOnboarding()
}.openEnhancedTrackingProtectionSheet { }.openEnhancedTrackingProtectionSheet {
verifyTrackingCookiesBlocked() verifyTrackingCookiesBlocked()
verifyCryptominersBlocked() verifyCryptominersBlocked()

@ -11,7 +11,6 @@ import androidx.recyclerview.widget.RecyclerView
import androidx.test.espresso.Espresso.onView import androidx.test.espresso.Espresso.onView
import androidx.test.espresso.IdlingRegistry import androidx.test.espresso.IdlingRegistry
import androidx.test.espresso.IdlingResource import androidx.test.espresso.IdlingResource
import androidx.test.espresso.IdlingResourceTimeoutException
import androidx.test.espresso.action.ViewActions import androidx.test.espresso.action.ViewActions
import androidx.test.espresso.action.ViewActions.pressImeActionButton import androidx.test.espresso.action.ViewActions.pressImeActionButton
import androidx.test.espresso.action.ViewActions.replaceText import androidx.test.espresso.action.ViewActions.replaceText
@ -33,6 +32,7 @@ import androidx.test.uiautomator.By
import androidx.test.uiautomator.UiDevice import androidx.test.uiautomator.UiDevice
import androidx.test.uiautomator.UiSelector import androidx.test.uiautomator.UiSelector
import androidx.test.uiautomator.Until import androidx.test.uiautomator.Until
import junit.framework.TestCase.assertTrue
import org.hamcrest.CoreMatchers.allOf import org.hamcrest.CoreMatchers.allOf
import org.hamcrest.CoreMatchers.anyOf import org.hamcrest.CoreMatchers.anyOf
import org.hamcrest.CoreMatchers.containsString import org.hamcrest.CoreMatchers.containsString
@ -116,43 +116,40 @@ class NavigationToolbarRobot {
return BrowserRobot.Transition() return BrowserRobot.Transition()
} }
fun openTrackingProtectionTestPage(url: Uri, etpEnabled: Boolean, interact: BrowserRobot.() -> Unit): BrowserRobot.Transition { fun openTrackingProtectionTestPage(
sessionLoadedIdlingResource = SessionLoadedIdlingResource() url: Uri,
etpEnabled: Boolean,
interact: BrowserRobot.() -> Unit
): BrowserRobot.Transition {
openEditURLView() openEditURLView()
awesomeBar().perform(replaceText(url.toString()), pressImeActionButton()) awesomeBar().perform(replaceText(url.toString()), pressImeActionButton())
runWithIdleRes(sessionLoadedIdlingResource) { val onboardingMessage =
when (etpEnabled) { mDevice.findObject(UiSelector().resourceId("$packageName:id/onboarding_message"))
true ->
try { val onboardingDisplayed = onboardingMessage.waitForExists(waitingTime)
onView(withId(R.id.onboarding_message))
.check(matches(isDisplayed())) when (etpEnabled) {
} catch (e: IdlingResourceTimeoutException) { true ->
openThreeDotMenu { try {
}.stopPageLoad { assertTrue("Onboarding message not displayed",
val onboardingDisplayed = onboardingDisplayed
mDevice.findObject(UiSelector().resourceId("$packageName:id/onboarding_message")) )
.waitForExists(waitingTime) } catch (e: AssertionError) {
openThreeDotMenu {
if (!onboardingDisplayed) { }.stopPageLoad {
openThreeDotMenu { if (!onboardingDisplayed) {
}.refreshPage {} openThreeDotMenu {
}.refreshPage {
assertTrue(onboardingDisplayed)
} }
} }
} }
}
false -> false ->
try { onView(withResourceName("browserLayout")).check(matches(isDisplayed()))
onView(withResourceName("browserLayout")).check(matches(isDisplayed()))
} catch (e: IdlingResourceTimeoutException) {
openThreeDotMenu {
}.stopPageLoad {
}.openThreeDotMenu {
}.refreshPage {}
}
}
} }
BrowserRobot().interact() BrowserRobot().interact()

Loading…
Cancel
Save