715
edits
(revert last change) |
(→Project Outline: add a paragraph regarding novelty) |
||
| Line 13: | Line 13: | ||
A yet unsolved problem is that not all test cases can be automated using | A yet unsolved problem is that not all test cases can be automated using | ||
content JavaScript; we’re lacking a way to control- and test features that require user input. The goal of this | content JavaScript; we’re lacking a way to control- and test features that require user input. The goal of this project is to allow [https://github.com/w3c/wptrunner wptrunner], the Web Platform Tests runner harness, to automatically run tests that would ordinarily require user interaction, using [https://w3c.github.io/webdriver/webdriver-spec.html WebDriver]. | ||
In more detail, the goal of this project is to implement a | In more detail, the goal of this project is to implement a “meta-circular” WebDriver client. This will have an API implemented in JavaScript that runs in the browser. The API will use an HTTP- or WebSockets backend to call a different WebDriver client implemented in Python in the [https://github.com/w3c/wptserve wptserve] server. This Python code will in turn call back into the browser using the WebDriver API, enabling emulation of human-like interactions to happen from tests written purely in cross-browser JavaScript. | ||
wptrunner already uses WebDriver to drive the tests in a browser. It loads the test documents, listens for test results from [https://github.com/w3c/testharness.js/] testharness.js] (the harness that wpt tests are written using), and then reports them back. By giving the in-browser content JS the ability to call out to the WebDriver session controlling its own browser session, the tests will be able to issue trusted OS events and emulate user interaction in a way that hasn’t previously been possible. | |||
This project will allow the web platform to ensure cross-browser interoperability in privileged and permissions-guarded areas that content JS is not able to reach. | |||
The project is outlined further in [https://github.com/w3c/web-platform-tests/issues/2161 Github issue #2161]. | The project is outlined further in [https://github.com/w3c/web-platform-tests/issues/2161 Github issue #2161]. | ||
edits