Source code

Revision control

Copy as Markdown

Other Tools

import pytest
CANVAS_CSS = "#myP5Canvas"
async def can_move_car(client):
await client.navigate(URL)
canvas = client.await_css(CANVAS_CSS, is_displayed=True)
coords = client.get_element_screen_position(canvas)
coords = [coords[0] + 20, coords[1] + 20]
# get rid of hand icon and screenshot
await client.apz_down(coords=coords)
coords = [coords[0] + 2, coords[1] + 2]
await client.apz_move(coords=coords)
await client.stall(0.025)
await client.apz_up(coords=coords)
await client.stall(0.5)
pre = canvas.screenshot()
# drag around and see if the screenshot changes
await client.apz_down(coords=coords)
for _ in range(40):
coords = [coords[0] + 2, coords[1] + 2]
await client.apz_move(coords=coords)
await client.stall(0.025)
await client.apz_up(coords=coords)
post = canvas.screenshot()
diff = client.diff_images(pre, post)
return not client.is_one_solid_color(diff)
@pytest.mark.asyncio
@pytest.mark.with_interventions
async def test_enabled(client):
assert await can_move_car(client)
@pytest.mark.asyncio
@pytest.mark.without_interventions
async def test_disabled(client):
assert not await can_move_car(client)