commit 0f032496e6e0d0ee09a0463b7c0e0dcdf8aef0d9 parent e7f40ab726118b34983723534420607437556127 Author: Thomas Wisniewski <twisniewski@mozilla.com> Date: Wed, 8 Oct 2025 13:38:22 +0000 Bug 1989076 - fix webcompat interventions automated tests; r=denschub Differential Revision: https://phabricator.services.mozilla.com/D267808 Diffstat:
4 files changed, 17 insertions(+), 14 deletions(-)
diff --git a/testing/webcompat/interventions/tests/test_1644830_missingmail_usps.py b/testing/webcompat/interventions/tests/test_1644830_missingmail_usps.py @@ -1,13 +1,13 @@ import pytest +from webdriver.error import NoSuchElementException URL = "https://missingmail.usps.com/?_gl=1*veidlp*_gcl_aw*R0NMLjE1OTE3MjUyNTkuRUFJYUlRb2JDaE1Jd3AzaTBhYjE2UUlWa01EQUNoMlBBUVlrRUFBWUFTQUFFZ0lMeFBEX0J3RQ..*_gcl_dc*R0NMLjE1OTE3MjUyNTkuRUFJYUlRb2JDaE1Jd3AzaTBhYjE2UUlWa01EQUNoMlBBUVlrRUFBWUFTQUFFZ0lMeFBEX0J3RQ..#/" -USERNAME_CSS = "#username" -PASSWORD_CSS = "#password" -SIGN_IN_CSS = "#btn-submit" +USERNAME_CSS = "input[autocomplete=username]" +PASSWORD_CSS = "input[autocomplete=current-password]" +PRIMARY_BUTTON_CSS = "button.btn-primary[type=submit]" TERMS_CHECKBOX_CSS = "#tc-checkbox" TERMS_FAUX_CHECKBOX_CSS = "#tc-checkbox + .mrc-custom-checkbox" -LOADING_CSS = ".blockUI.blockMsg.blockPage" # The USPS missing mail website takes a very long time to load (multiple # minutes). We give them a very generous amount of time here, but will @@ -23,7 +23,7 @@ async def are_checkboxes_clickable(client, credentials): username = client.await_css(USERNAME_CSS) password = client.find_css(PASSWORD_CSS) - sign_in = client.find_css(SIGN_IN_CSS) + sign_in = client.find_css(PRIMARY_BUTTON_CSS) assert client.is_displayed(username) assert client.is_displayed(password) assert client.is_displayed(sign_in) @@ -32,12 +32,15 @@ async def are_checkboxes_clickable(client, credentials): password.send_keys(credentials["password"]) sign_in.click() - # site seems to not react at all to logins sometimes? (not just on Firefox) - client.await_css(LOADING_CSS, is_displayed=True) - client.await_element_hidden(client.css(LOADING_CSS)) - if client.is_displayed(username): - pytest.skip("Login on the page seem to be broken right now. Try again later.") - return False + try: + client.await_css( + ".custom-control-label", + condition="elem.innerText.includes('Not Now')", + is_displayed=True, + ).click() + client.await_css(PRIMARY_BUTTON_CSS, is_displayed=True).click() + except NoSuchElementException: + pass tc = client.await_css(TERMS_CHECKBOX_CSS, timeout=TIMEOUT) if tc is None: diff --git a/testing/webcompat/interventions/tests/test_1704673_app_xiaomi_com.py b/testing/webcompat/interventions/tests/test_1704673_app_xiaomi_com.py @@ -24,7 +24,7 @@ async def test_disabled(client): # We will either get a static error page with the text, or # an UnknownErrorException from WebDriver. try: - await client.navigate(URL, wait="none") + await client.navigate(URL, wait="none", no_skip=True) desktop, mobile = client.await_first_element_of( [client.css(REDIR_FAILURE_CSS), client.text(REDIR_FAILURE_TEXT)], is_displayed=True, diff --git a/testing/webcompat/interventions/tests/test_1830739_1902452_eternalslots_com.py b/testing/webcompat/interventions/tests/test_1830739_1902452_eternalslots_com.py @@ -10,7 +10,7 @@ SUPPORTED_CSS = "#game_main" async def get_to_page(client): await client.navigate(URL) - client.click(client.await_css(FIRST_GAME_CSS, is_displayed=True)) + client.soft_click(client.await_css(FIRST_GAME_CSS, is_displayed=True)) client.soft_click(client.await_css(PLAY_FOR_FUN_CSS, is_displayed=True)) client.switch_to_frame(client.await_css(IFRAME_CSS)) diff --git a/testing/webcompat/interventions/tests/test_1898934_tza_red.py b/testing/webcompat/interventions/tests/test_1898934_tza_red.py @@ -3,7 +3,7 @@ from webdriver.error import NoSuchElementException URL = "https://tza.red/" -UNSUPPORTED_TEXT = "Partially supported browser" +UNSUPPORTED_TEXT = "browser is partially supported" @pytest.mark.asyncio