Bug 1855489 - Add nimbus homescreen message test - Tap X button (#3822)

* Bug 1855489 - Add nimbus homescreen message test - Tap X button

* Change after test steps.

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
fenix/120.0
Benjamin Forehand Jr 1 year ago committed by GitHub
parent 3ce7aabdd9
commit 1d386b729c

@ -40,6 +40,15 @@ class SurveyExperimentIntegrationTest {
TestHelper.appContext.settings().showSecretDebugMenuThisSession = false TestHelper.appContext.settings().showSecretDebugMenuThisSession = false
} }
fun checkExperimentExists() {
homeScreen {
}.openThreeDotMenu {
}.openSettings {
}.openExperimentsMenu {
verifyExperimentExists(experimentName)
}
}
@Test @Test
fun checkSurveyNavigatesCorrectly() { fun checkSurveyNavigatesCorrectly() {
browserScreen { browserScreen {
@ -48,12 +57,7 @@ class SurveyExperimentIntegrationTest {
verifyUrl(surveyURL) verifyUrl(surveyURL)
} }
homeScreen { checkExperimentExists()
}.openThreeDotMenu {
}.openSettings {
}.openExperimentsMenu {
verifyExperimentExists(experimentName)
}
} }
@Test @Test
@ -64,12 +68,19 @@ class SurveyExperimentIntegrationTest {
verifyTabCounter("0") verifyTabCounter("0")
} }
homeScreen { checkExperimentExists()
}.openThreeDotMenu { }
}.openSettings {
}.openExperimentsMenu { @Test
verifyExperimentExists(experimentName) fun checkHomescreenSurveyDismissesCorrectly() {
browserScreen {
verifyHomeScreenSurveyCloseButton()
}.clickHomeScreenSurveyCloseButton {
verifyTabCounter("0")
verifySurveyButtonDoesNotExist()
} }
checkExperimentExists()
} }
@Test @Test
@ -79,5 +90,7 @@ class SurveyExperimentIntegrationTest {
verifySurveyNoThanksButton() verifySurveyNoThanksButton()
verifySurveyButton() verifySurveyButton()
} }
checkExperimentExists()
} }
} }

@ -64,6 +64,8 @@ def gradlewbuild(gradlewbuild_log):
def fixture_experiment_data(experiment_url): def fixture_experiment_data(experiment_url):
data = requests.get(experiment_url).json() data = requests.get(experiment_url).json()
for item in data["branches"][0]["features"][0]["value"]["messages"].values(): for item in data["branches"][0]["features"][0]["value"]["messages"].values():
item["surface"] = "homescreen"
item["style"] = "URGENT"
for count, trigger in enumerate(item["trigger"]): for count, trigger in enumerate(item["trigger"]):
if "USER_EN_SPEAKER" not in trigger: if "USER_EN_SPEAKER" not in trigger:
del(item["trigger"][count]) del(item["trigger"][count])

@ -11,6 +11,11 @@ def test_survey_no_thanks_navigates_correctly(setup_experiment, gradlewbuild, lo
setup_experiment(load_branches) setup_experiment(load_branches)
gradlewbuild.test("SurveyExperimentIntegrationTest#checkSurveyNoThanksNavigatesCorrectly") gradlewbuild.test("SurveyExperimentIntegrationTest#checkSurveyNoThanksNavigatesCorrectly")
@pytest.mark.parametrize("load_branches", [("branch")], indirect=True)
def test_homescreen_survey_dismisses_correctly(setup_experiment, gradlewbuild, load_branches):
setup_experiment(load_branches)
gradlewbuild.test("SurveyExperimentIntegrationTest#checkHomescreenSurveyDismissesCorrectly")
@pytest.mark.parametrize("load_branches", [("branch")], indirect=True) @pytest.mark.parametrize("load_branches", [("branch")], indirect=True)
def test_survey_landscape_looks_correct(setup_experiment, gradlewbuild, load_branches): def test_survey_landscape_looks_correct(setup_experiment, gradlewbuild, load_branches):
setup_experiment(load_branches) setup_experiment(load_branches)

@ -882,6 +882,17 @@ class BrowserRobot {
assertTrue(button.waitForExists(waitingTime)) assertTrue(button.waitForExists(waitingTime))
} }
fun verifySurveyButtonDoesNotExist() {
val button = mDevice.findObject(
UiSelector().text(
getStringResource(
R.string.preferences_take_survey,
),
),
)
assertTrue(button.waitUntilGone(waitingTime))
}
fun verifySurveyNoThanksButton() { fun verifySurveyNoThanksButton() {
val button = mDevice.findObject( val button = mDevice.findObject(
UiSelector().text( UiSelector().text(
@ -893,6 +904,15 @@ class BrowserRobot {
assertTrue(button.waitForExists(waitingTime)) assertTrue(button.waitForExists(waitingTime))
} }
fun verifyHomeScreenSurveyCloseButton() {
val button = mDevice.findObject(
UiSelector().descriptionContains(
"Close",
),
)
assertTrue(button.waitForExists(waitingTime))
}
fun clickOpenLinksInAppsDismissCFRButton() = fun clickOpenLinksInAppsDismissCFRButton() =
itemWithResIdContainingText( itemWithResIdContainingText(
"$packageName:id/dismiss", "$packageName:id/dismiss",
@ -1262,6 +1282,13 @@ class BrowserRobot {
surveyNoThanksButton.waitForExists(waitingTime) surveyNoThanksButton.waitForExists(waitingTime)
surveyNoThanksButton.click() surveyNoThanksButton.click()
BrowserRobot().interact()
return Transition()
}
fun clickHomeScreenSurveyCloseButton(interact: BrowserRobot.() -> Unit): BrowserRobot.Transition {
homescreenSurveyCloseButton.waitForExists(waitingTime)
homescreenSurveyCloseButton.click()
BrowserRobot().interact() BrowserRobot().interact()
return Transition() return Transition()
} }
@ -1420,3 +1447,6 @@ private val surveyButton =
private val surveyNoThanksButton = private val surveyNoThanksButton =
itemContainingText(getStringResource(R.string.preferences_not_take_survey)) itemContainingText(getStringResource(R.string.preferences_not_take_survey))
private val homescreenSurveyCloseButton =
itemWithDescription("Close")

Loading…
Cancel
Save