Source code
Revision control
Copy as Markdown
Other Tools
import pytest
from webdriver.error import NoSuchElementException
CAPTCHA_TEXT = "Verifying you are human"
IMAGE_CSS = ".content-heading .cover-img img"
ERROR_MSG = "loggingEnabled is not defined"
INFINITE_CAPTCHA_MSG = (
"Seem to be stuck in an infinite Captcha; please test this page manually."
)
async def visit_site(client):
await client.navigate(URL)
try:
# Unfortunately, the site tends to show an infinitely-repeating non-interactive Cloudflare Captcha now.
client.await_text(CAPTCHA_TEXT, is_displayed=True, timeout=4)
pytest.skip(INFINITE_CAPTCHA_MSG)
return False
except NoSuchElementException:
return True
@pytest.mark.only_platforms("android")
@pytest.mark.asyncio
@pytest.mark.with_interventions
async def test_enabled(client):
if await visit_site(client):
client.await_css(IMAGE_CSS, condition="!elem.src.includes('placeholder')")
@pytest.mark.only_platforms("android")
@pytest.mark.asyncio
@pytest.mark.without_interventions
async def test_disabled(client):
console_msg = await client.promise_console_message_listener(ERROR_MSG)
if await visit_site(client):
await console_msg
client.await_css(IMAGE_CSS, condition="elem.src.includes('placeholder')")