gecko-dev/testing/webdriver
James Graham b2d688e913 Bug 1732622 - Enable allowing given hosts and origins for geckodriver, r=webdriver-reviewers,freddyb,whimboo
The policy is now as follows:

* The `--host` command line flag can now be an actual hostname as well
  as in IP address.

* By default only requests with a `Host` header that is an IP address,
  or matching the value of the `--host` argument are accepted.

* If `--host` is a local IP address, we by default accept `localhost`
  in the `Host` header.

* When `--allow-hosts` is provided, only requests with a hostname
  matching the listed values, or an IP address, are accepted.

* By default any request with an `Origin` header is rejected.

* When `--allow-origins` is provided, only requests with no `Origin`
  header, or an origin matching the given values, are accepted.

Differential Revision: https://phabricator.services.mozilla.com/D129012
2022-01-17 15:37:20 +00:00
..
src Bug 1732622 - Enable allowing given hosts and origins for geckodriver, r=webdriver-reviewers,freddyb,whimboo 2022-01-17 15:37:20 +00:00
Cargo.toml Bug 1732622 - Enable allowing given hosts and origins for geckodriver, r=webdriver-reviewers,freddyb,whimboo 2022-01-17 15:37:20 +00:00
README.md Bug 1729280 - Fix links to WebDriver mailing list. r=webdriver-reviewers,jdescottes 2021-09-14 08:37:55 +00:00
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 https://groups.google.com/a/mozilla.org/g/dev-webdriver.

There is also an Element channel to talk about using and developing webdriver on #webdriver:mozilla.org <https://chat.mozilla.org/#/room/#webdriver:mozilla.org>__