Commit graph

23 commits

Author SHA1 Message Date
Martin Pitt
49317d7c19 scroll element into view for mouse actions
This works fine with Firefox, and conforms to the spec.

However, Chromium gets confused and clicks on the wrong position. Work
around that for now by keeping our old `ph_mouse()` event synthesizer
for Chromium.
2024-07-27 02:32:16 +02:00
Martin Pitt
5d89be7665 Drop obsolete bidi.py async code
This better lives in the sync Browser class.
2024-07-27 02:32:16 +02:00
Martin Pitt
700037e14f Use custom high-level Error class like testlib.py 2024-07-26 16:48:23 +02:00
Martin Pitt
5581ec4757 make bidi.py importable 2024-07-26 16:48:23 +02:00
Martin Pitt
91be31b648 Add test helpers
This makes waiting for text robust.

script.addPreloadScript() doesn't export the declared functions, so we
need to attach them to `window`. We also don't need all of them.
2024-07-26 16:48:23 +02:00
Martin Pitt
ecb9420e8e screenshot on failure 2024-07-26 16:48:23 +02:00
Martin Pitt
42b031130c log exceptions from ws_reader() 2024-07-26 16:48:23 +02:00
Martin Pitt
6cae2c652a frame tracking and cockpit testing
Hint from https://github.com/w3c/webdriver-bidi/issues/418
2024-07-26 16:48:23 +02:00
Martin Pitt
5b31add62f Robustify interactive browser
Too small window sizes make the test unstable. Now it works reliably in
a loop.
2024-07-24 17:15:59 +02:00
Martin Pitt
6cd41a5cc5 page wait load timeout and fix 2024-07-24 17:15:59 +02:00
Martin Pitt
4c18ab08b0 Refactor run and page helpers 2024-07-24 17:15:59 +02:00
Martin Pitt
c1496f15a3 Refactor bidi session 2024-07-24 17:15:59 +02:00
Martin Pitt
23ff405ad0 Dynamic ports
Thanks Lis for the idea!
2024-07-24 17:15:59 +02:00
Martin Pitt
b9b9f0abd0 Bring back firefox marionette
Re-eliminate geckodriver. Turns out we can do everything through BiDi.
2024-07-24 17:15:59 +02:00
Martin Pitt
a6c4ab0cd4 Convert /text to bidi evaluate
That's what we do in CDP as well
2024-07-24 17:15:59 +02:00
Martin Pitt
3a8a279e18 Convert to BiDi click and add page load wait/check 2024-07-24 17:15:59 +02:00
Martin Pitt
025731f0c8 Clean up session tracking 2024-07-24 17:15:59 +02:00
Martin Pitt
eb6fd8ac1d Clean up open-coded driver startup 2024-07-24 17:15:59 +02:00
Martin Pitt
3df6155547 API for classic webdriver; text + click
Unfortunately the "interesting" commands like "click" don't have a BiDi
command, and need classic webdriver.
2024-07-24 17:15:59 +02:00
Martin Pitt
7cc9b6c7a3 add headless mode 2024-07-24 17:15:59 +02:00
Martin Pitt
577ec26307 move to aiohttp 2024-07-24 17:15:59 +02:00
Martin Pitt
e34f982375 collect log messages 2024-07-24 17:15:59 +02:00
Martin Pitt
fb9335663f first PoC of Python bidi runner 2024-07-24 17:15:59 +02:00