Skip to content
Snippets Groups Projects
Commit 1e4306fe authored by AndiAJ's avatar AndiAJ Committed by mergify[bot]
Browse files

Bug 1802604 - Fix flaky firstRunOnboardingTest UI test

parent 8d964671
No related branches found
No related tags found
No related merge requests found
......@@ -43,13 +43,13 @@ class OldFirstRunTest {
fun firstRunOnboardingTest() {
homeScreen {
verifyOnboardingFirstSlide()
clickOnboardingNextBtn()
clickOnboardingNextButton()
verifyOnboardingSecondSlide()
clickOnboardingNextBtn()
clickOnboardingNextButton()
verifyOnboardingThirdSlide()
clickOnboardingNextBtn()
clickOnboardingNextButton()
verifyOnboardingLastSlide()
clickOnboardingFinishBtn()
clickOnboardingFinishButton()
verifyEmptySearchBar()
}
}
......@@ -58,7 +58,7 @@ class OldFirstRunTest {
fun skipFirstRunOnboardingTest() {
homeScreen {
verifyOnboardingFirstSlide()
clickOnboardingNextBtn()
clickOnboardingNextButton()
verifyOnboardingSecondSlide()
skipFirstRun()
verifyEmptySearchBar()
......
......@@ -9,7 +9,6 @@ import androidx.test.espresso.action.ViewActions.click
import androidx.test.espresso.assertion.ViewAssertions.matches
import androidx.test.espresso.matcher.ViewMatchers.isDisplayed
import androidx.test.espresso.matcher.ViewMatchers.withId
import androidx.test.espresso.matcher.ViewMatchers.withText
import androidx.test.uiautomator.By
import androidx.test.uiautomator.UiSelector
import org.junit.Assert.assertTrue
......@@ -32,25 +31,17 @@ class HomeScreenRobot {
fun closeOnboarding() = onboardingCloseButton.clickAndWaitForNewWindow(waitingTime)
fun verifyOnboardingFirstSlide() {
firstSlide.check(matches(isDisplayed()))
}
fun verifyOnboardingFirstSlide() = assertTrue(firstSlideTitle.waitForExists(waitingTime))
fun verifyOnboardingSecondSlide() {
secondSlide.check(matches(isDisplayed()))
}
fun verifyOnboardingSecondSlide() = assertTrue(secondSlideTitle.waitForExists(waitingTime))
fun verifyOnboardingThirdSlide() {
thirdSlide.check(matches(isDisplayed()))
}
fun verifyOnboardingThirdSlide() = assertTrue(thirdSlideTitle.waitForExists(waitingTime))
fun verifyOnboardingLastSlide() {
lastSlide.check(matches(isDisplayed()))
}
fun verifyOnboardingLastSlide() = assertTrue(lastSlide.waitForExists(waitingTime))
fun clickOnboardingNextBtn() = nextBtn.click()
fun clickOnboardingNextButton() = nextButton.clickAndWaitForNewWindow(waitingTimeShort)
fun clickOnboardingFinishBtn() = finishBtn.click()
fun clickOnboardingFinishButton() = finishButton.clickAndWaitForNewWindow(waitingTimeShort)
fun verifyPageShortcutExists(title: String) {
assertTrue(
......@@ -151,21 +142,25 @@ private val editURLBar =
private val mainMenu = onView(withId(R.id.menuView))
/********* First Run Locators */
private val firstSlide = onView(withText(R.string.firstrun_defaultbrowser_title))
private val firstSlideTitle =
mDevice.findObject(UiSelector().textContains(getStringResource(R.string.firstrun_defaultbrowser_title)))
private val secondSlide = onView(withText(R.string.firstrun_search_title))
private val secondSlideTitle =
mDevice.findObject(UiSelector().textContains(getStringResource(R.string.firstrun_search_title)))
private val thirdSlide = onView(withText(R.string.firstrun_shortcut_title))
private val thirdSlideTitle =
mDevice.findObject(UiSelector().textContains(getStringResource(R.string.firstrun_shortcut_title)))
private val lastSlide = onView(withText(R.string.firstrun_privacy_title))
private val lastSlide =
mDevice.findObject(UiSelector().textContains(getStringResource(R.string.firstrun_privacy_title)))
private val nextBtn = mDevice.findObject(
private val nextButton = mDevice.findObject(
UiSelector()
.resourceId("$packageName:id/next")
.enabled(true),
)
private val finishBtn = mDevice.findObject(
private val finishButton = mDevice.findObject(
UiSelector()
.resourceId("$packageName:id/finish")
.enabled(true),
......
......@@ -36,17 +36,17 @@ class FirstRunScreenshots : ScreenshotTest() {
SystemClock.sleep(5000)
Screengrab.screenshot("Onboarding_1_View")
clickOnboardingNextBtn()
clickOnboardingNextButton()
verifyOnboardingSecondSlide()
Screengrab.screenshot("Onboarding_2_View")
clickOnboardingNextBtn()
clickOnboardingNextButton()
verifyOnboardingThirdSlide()
Screengrab.screenshot("Onboarding_3_View")
clickOnboardingNextBtn()
clickOnboardingNextButton()
verifyOnboardingLastSlide()
Screengrab.screenshot("Onboarding_last_View")
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment