tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

wheel.py (1299B)


      1 from copy import deepcopy
      2 
      3 import pytest
      4 from tests.classic.perform_actions.support.refine import get_events
      5 
      6 pytestmark = pytest.mark.asyncio
      7 
      8 
      9 @pytest.mark.parametrize("device_pixel_ratio", ["1.0", "2.0", "0.5"])
     10 async def test_scroll_delta_device_pixel(
     11    configuration, url, geckodriver, device_pixel_ratio
     12 ):
     13    config = deepcopy(configuration)
     14 
     15    prefs = config["capabilities"]["moz:firefoxOptions"].get("prefs", {})
     16    prefs.update({"layout.css.devPixelsPerPx": device_pixel_ratio})
     17    config["capabilities"]["moz:firefoxOptions"]["prefs"] = prefs
     18 
     19    try:
     20        driver = geckodriver(config=config)
     21        driver.new_session()
     22 
     23        driver.session.url = url(
     24            "/webdriver/tests/support/html/test_actions_scroll.html"
     25        )
     26 
     27        target = driver.session.find.css("#scrollable", all=False)
     28 
     29        chain = driver.session.actions.sequence("wheel", "wheel_id")
     30        chain.scroll(0, 0, 5, 10, origin=target).perform()
     31 
     32        events = get_events(driver.session)
     33        assert len(events) == 1
     34        assert events[0]["type"] == "wheel"
     35        assert events[0]["deltaX"] == 5
     36        assert events[0]["deltaY"] == 10
     37        assert events[0]["deltaZ"] == 0
     38        assert events[0]["target"] == "scrollable-content"
     39 
     40    finally:
     41        await driver.stop()