gecko-dev/testing/webdriver
James Graham d289d43116 Bug 1573414 - Make geckodriver, webdriver and mozbase #![forbid(unsafe_code)], r=ato
We don't expect to use any unsafe and doing this helps static analysis tools
determine that the library is low risk from the point of view of memory unsafety,
and makes it less likely someone will add in some unsafe code in the future without
appropriate care.

Differential Revision: https://phabricator.services.mozilla.com/D41730

--HG--
extra : moz-landing-system : lando
2019-08-13 13:27:51 +00:00
..
src Bug 1573414 - Make geckodriver, webdriver and mozbase #![forbid(unsafe_code)], r=ato 2019-08-13 13:27:51 +00:00
Cargo.toml bug 1572397: webdriver: release v0.40.0; r=webdriver-reviewers,whimboo 2019-08-08 15:35:42 +00:00
README.md
moz.build

README.md

webdriver library

The webdriver crate is a library implementation of the wire protocol for the W3C WebDriver standard written in Rust. WebDriver is a remote control interface that enables introspection and control of user agents. It provides a platform- and language-neutral wire protocol as a way for out-of-process programs to remotely instruct the behaviour of web browsers.

The webdriver library provides the formal types, error codes, type and bounds checks, and JSON marshaling conventions for correctly parsing and emitting the WebDriver protocol. It also provides an HTTP server where endpoints are mapped to the different WebDriver commands.

As of right now, this is an implementation for the server side of the WebDriver API in Rust, not the client side.

Building

The library is built using the usual Rust conventions:

% cargo build

To run the tests:

% cargo test

Contact

The mailing list for webdriver discussion is tools-marionette@lists.mozilla.org (subscribe, archive).

There is also an IRC channel to talk about using and developing webdriver in #interop on irc.mozilla.org.