bug 1490660: webdriver: correct README; r=jgraham

The usage example is out of date, and the URLs for the mailing list
archive and the WebDriver specification were wrong.
This commit is contained in:
Andreas Tolfsen 2018-09-12 14:21:44 +01:00
Родитель 0d94ae0826
Коммит 7938992cbc
1 изменённых файлов: 6 добавлений и 60 удалений

Просмотреть файл

@ -17,7 +17,7 @@ where endpoints are mapped to the different WebDriver commands.
WebDriver API in Rust, not the client side.**
[webdriver crate]: https://crates.io/crates/webdriver
[W3C WebDriver standard]: https://w3c.github.io/webdriver/webdriver-spec.html
[W3C WebDriver standard]: https://w3c.github.io/webdriver/
Building
@ -25,77 +25,23 @@ Building
The library is built using the usual [Rust conventions]:
% cargo build
% cargo build
To run the tests:
% cargo test
% cargo test
[Rust conventions]: http://doc.crates.io/guide.html
Usage
=====
To start an HTTP server that handles incoming command requests, a request
handler needs to be implemented. It takes an incoming `WebDriverMessage`
and emits a `WebDriverResponse`:
impl WebDriverHandler for MyHandler {
fn handle_command(
&mut self,
_: &Option<Session>,
msg: WebDriverMessage,
) -> WebDriverResult<WebDriverResponse> {
}
fn delete_session(&mut self, _: &Option<Session>) {
}
}
let addr = SocketAddr::new("localhost", 4444);
let handler = MyHandler {};
let server = webdriver::server::start(addr, handler, vec![])?;
info!("Listening on {}", server.socket);
It is also possible to provide so called [extension commands] by providing
a vector of known extension routes, for which each new route needs to
implement the `WebDriverExtensionRoute` trait. Each route needs to map
to a `WebDriverExtensionCommand`:
pub enum MyExtensionRoute { HelloWorld }
pub enum MyExtensionCommand { HelloWorld }
impl WebDriverExtensionRoute for MyExtensionRoute {
fn command(
&self,
captures: &Captures,
body: &Json,
) -> WebDriverResult<WebDriverCommand<MyExtensionCommand>> {
}
}
let extension_routes = vec![
(Method::Get, "/session/{sessionId}/moz/hello", MyExtensions::HelloWorld)
];
let server = webdriver::server::start(addr, handler, extension_routes[..])?;
[extension commands]: https://w3c.github.io/webdriver/webdriver-spec.html#dfn-extension-commands
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 #ateam on irc.mozilla.org.
There is also an IRC channel to talk about using and developing
webdriver in #ateam on irc.mozilla.org.
[subscribe]: https://lists.mozilla.org/listinfo/tools-marionette
[archive]: http://groups.google.com/group/mozilla.tools.marionette
[archive]: https://lists.mozilla.org/pipermail/tools-marionette/