[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
fun customTrackingProtectionSettingsTest() {
val genericWebPage = TestAssetHelper.getGenericAsset(mockWebServer, 1)
val trackingPage = TestAssetHelper.getEnhancedTrackingProtectionAsset(mockWebServer)
homeScreen {
@ -422,10 +422,14 @@ class SmokeTest {
}.goBackToHomeScreen {}
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 {
dismissTrackingOnboarding()
}.openEnhancedTrackingProtectionSheet {
verifyTrackingCookiesBlocked()
verifyCryptominersBlocked()

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

Loading…
Cancel
Save