Auto-tools/New Contributor/Quarter of Contribution/Web Driver Infrastructure: Difference between revisions

Jump to navigation Jump to search
some improvement
(fix line breaks)
(some improvement)
Line 4: Line 4:
:Andreas Tolfsen (''ato'' on IRC, [https://github.com/andreastt/ GitHub])
:Andreas Tolfsen (''ato'' on IRC, [https://github.com/andreastt/ GitHub])


The goal here is to allow [https://github.com/w3c/wptrunner wptrunner] to automatically run (some) tests that would ordinarily require user interaction, through the [https://w3c.github.io/webdriver/webdriver-spec.html WebDriver protocol].
The [https://github.com/w3c/web-platform-tests Web Platform Tests] are part of the [http://www.w3.org/ W3C]-coordinated initiative ''[http://testthewebforward.org/ Test the Web Forward]'' to build a cross-browser testsuite for open web platform technologies.


TODO- better overview
The project is an attempt to provide tests that can be run in all browsers, giving browser vendors confidence that they are shipping software that is compatible with other browsers.  This gives web authors assurance that they can rely on the web platform to deliver on the promise of working across browsers and devices, without needing extra layers of abstraction to cover the gaps left by specification editors and implementors.


To get started:
However, 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 contribution 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, through the [https://w3c.github.io/webdriver/webdriver-spec.html WebDriver protocol].
 
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 into the browser.  The API will use an HTTP or WebSockets backend to call a 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.
 
==To get started==
 
TODO:


* Learn about [https://github.com/w3c/wptrunner wptrunner] and [https://w3c.github.io/webdriver/webdriver-spec.html WebDriver]
* Learn about [https://github.com/w3c/wptrunner wptrunner] and [https://w3c.github.io/webdriver/webdriver-spec.html WebDriver]
* Setup tools and write a unit test.TODO
* Setup tools and write a unit test.


The project is outlined in github [https://github.com/w3c/web-platform-tests/issues/2161 here]
The project is outlined in [https://github.com/w3c/web-platform-tests/issues/2161 Github issue #2161].


Things we are looking for in an ideal candidate:
==Things we are looking for in an ideal candidate==


* Ability to write code in Javascript and Python
* Ability to write code and design good APIs in JavaScript and Python
* Willing to learn how to write WebDriver adaptors
* Willing to learn how to write WebDriver adaptors
* Creative ideas to proxy data between Javascript and Python
* Creative ideas on how to proxy data between JavaScript and Python
* Interest in test automation and UI automation
* Interest in test automation and UI automation
* Willing to learn, ask questions, and try new things out
* Willing to learn, ask questions, and try new things out
715

edits

Navigation menu