|
|
@ -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()
|
|
|
|