Skip to content

Commit

Permalink
Import of v0.31.0 (#2003)
Browse files Browse the repository at this point in the history
  • Loading branch information
whimboo committed Apr 11, 2022
1 parent a69d99e commit 9b5f85c
Show file tree
Hide file tree
Showing 24 changed files with 2,324 additions and 543 deletions.
228 changes: 107 additions & 121 deletions CHANGES.md

Large diffs are not rendered by default.

1,462 changes: 1,462 additions & 0 deletions Cargo.lock

Large diffs are not rendered by default.

22 changes: 13 additions & 9 deletions Cargo.toml
@@ -1,34 +1,38 @@
[package]
name = "geckodriver"
version = "0.30.0"
version = "0.31.0"
description = "Proxy for using WebDriver clients to interact with Gecko-based browsers."
keywords = ["webdriver", "w3c", "httpd", "mozilla", "firefox"]
repository = "https://hg.mozilla.org/mozilla-central/file/tip/testing/geckodriver"
readme = "README.md"
license = "MPL-2.0"
publish = false
authors = ["Mozilla"]
edition = "2018"

[dependencies]
base64 = "0.12"
chrono = "0.4.6"
clap = { version = "^2.19", default-features = false, features = ["suggestions", "wrap_help"] }
clap = { version = "3", default-features = false, features = ["cargo", "std", "suggestions", "wrap_help"] }
hyper = "0.13"
lazy_static = "1.0"
log = { version = "0.4", features = ["std"] }
marionette = { path = "./marionette" }
mozdevice = "0.4.0"
mozprofile = "0.7.3"
mozrunner = "0.13.0"
mozversion = "0.4.2"
marionette = "0.2.0"
mozdevice = "0.5.0"
mozprofile = "0.8.0"
mozrunner = "0.14.0"
mozversion = "0.4.3"
regex = { version="1.0", default-features = false, features = ["perf", "std"] }
serde = "1.0"
serde_derive = "1.0"
serde_json = "1.0"
serde_yaml = "0.8"
url = "2.0"
uuid = { version = "0.8", features = ["v4"] }
webdriver = "0.44.0"
webdriver = "0.45.0"
zip = { version = "0.4", default-features = false, features = ["deflate"] }

[dev-dependencies]
tempfile = "3"

[[bin]]
name = "geckodriver"
10 changes: 9 additions & 1 deletion README.md
Expand Up @@ -20,7 +20,6 @@ Downloads
* [Releases](https://github.com/mozilla/geckodriver/releases/latest)
* [Change log](https://searchfox.org/mozilla-central/source/testing/geckodriver/CHANGES.md)


Documentation
-------------

Expand Down Expand Up @@ -65,6 +64,15 @@ This GitHub repository is only used for issue tracking and making releases.
[Mozilla Public License]: https://www.mozilla.org/en-US/MPL/2.0/
[mozilla-central]: https://hg.mozilla.org/mozilla-central/file/tip/testing/geckodriver

Custom release builds
---------------------

If a binary is not available for your platform, it's possibe to create a custom
build using the [Rust] toolchain. To do this, checkout the release tag for the
version of interest and run `cargo build`. Alternatively the latest version may
be built and installed from `crates.io` using `cargo install geckodriver`.

[Rust]: https://rustup.rs/

Contact
-------
Expand Down
2 changes: 1 addition & 1 deletion doc/Bugs.md
Expand Up @@ -40,7 +40,7 @@ is appropriate. Bugs specific to geckodriver will be filed in the
[`Testing :: geckodriver`] component in Bugzilla.

[mailing list]: ./#communication
[trace-level log]: TraceLogs.html
[trace-level log]: TraceLogs.md
[GitHub issue tracker]: https://github.com/mozilla/geckodriver/issues
[ISSUE_TEMPLATE.md]: https://raw.githubusercontent.com/mozilla/geckodriver/master/ISSUE_TEMPLATE.md
[`Testing :: geckodriver`]: https://bugzilla.mozilla.org/buglist.cgi?component=geckodriver
6 changes: 3 additions & 3 deletions doc/Building.md
Expand Up @@ -29,13 +29,13 @@ You can run your freshly built geckodriver this way:

% ./mach geckodriver -- --other --flags

See [Testing](Testing.html) for how to run tests.
See [Testing](Testing.md) for how to run tests.

[Rust]: https://www.rust-lang.org/
[webdriver crate]: https://crates.io/crates/webdriver
[commands]: https://docs.rs/webdriver/newest/webdriver/command/
[responses]: https://docs.rs/webdriver/newest/webdriver/response/
[errors]: https://docs.rs/webdriver/newest/webdriver/error/enum.ErrorStatus.html
[Marionette protocol]: /testing/marionette/doc/marionette/Protocol.html
[Marionette protocol]: /testing/marionette/Protocol.md
[WebDriver]: https://w3c.github.io/webdriver/
[Marionette]: /testing/marionette/doc/marionette
[Marionette]: /testing/marionette/index.rst
2 changes: 1 addition & 1 deletion doc/Capabilities.md
Expand Up @@ -50,7 +50,7 @@ A list of all available websocket targets:
The contained `webSocketDebuggerUrl` entries can be used to connect to the
websocket and interact with the browser by using the CDP protocol.

[Remote Protocol]: /testing/remote/doc/
[Remote Protocol]: /remote/index.rst
[Chrome DevTools Protocol]: https://chromedevtools.github.io/devtools-protocol/


Expand Down
29 changes: 28 additions & 1 deletion doc/Flags.md
@@ -1,6 +1,32 @@
Flags
=====

#### <code>--allow-hosts <var>ALLOW_HOSTS</var>...</code>

Values of the `Host` header to allow for incoming requests.

By default the value of <var>HOST</var> is allowed. If `--allow-hosts`
is provided, exactly the given values will be permitted. For example
`--allow-host geckodriver.test webdriver.local` will allow requests
with `Host` set to `geckodriver.test` or `webdriver.local`.

Requests with `Host` set to an IP address are always allowed.

#### <code>--allow-origins <var>ALLOW_ORIGINS</var>...</code>

Values of the `Origin` header to allow for incoming requests.

`Origin` is set by web browsers for all `POST` requests, and most
other cross-origin requests. By default any request with an `Origin`
header is rejected to protect against malicious websites trying to
access geckodriver running on the local machine.

If `--allow-origins` is provided, web services running on the given
origin will be able to make requests to geckodriver. For example
`--allow-origins https://webdriver.test:8080` will allow a web-based
service on the origin with scheme `https`, hostname `webdriver.test`,
and port `8080` to access the geckodriver instance.

#### <code>&#x2D;&#x2D;android-storage <var>ANDROID_STORAGE</var></code>

**Deprecation warning**: This argument is deprecated and planned to be removed
Expand Down Expand Up @@ -133,7 +159,6 @@ Port to use for the WebDriver server. Defaults to 4444.
A helpful trick is that it is possible to bind to 0 to get the
system to atomically assign a free port.


#### <code>&#x2D;&#x2D;jsdebugger</code>

Attach [browser toolbox] debugger when Firefox starts. This is
Expand Down Expand Up @@ -174,3 +199,5 @@ argument is passed to geckodriver.
Increases the logging verbosity by to debug level when passing
a single `-v`, or to trace level if `-vv` is passed. This is
analogous to passing `--log debug` and `--log trace`, respectively.

[Marionette]: /testing/marionette/index.rst
6 changes: 3 additions & 3 deletions doc/Profiles.md
Expand Up @@ -32,8 +32,8 @@ two distinct systems.

[profiles]: https://support.mozilla.org/en-US/kb/profiles-where-firefox-stores-user-data
[_Automation preferences_]: #automation-preferences
[`args` capability]: ./Capabilities.html#capability-args
[`profile` capability]: ./Capabilities.html#capability-profile
[`args` capability]: https://developer.mozilla.org/en-US/docs/Web/WebDriver/Capabilities/firefoxOptions#args_array_of_strings
[`profile` capability]: https://developer.mozilla.org/en-US/docs/Web/WebDriver/Capabilities/firefoxOptions#profile_string
[known bug concerning `--profile`]: https://github.com/mozilla/geckodriver/issues/1058


Expand Down Expand Up @@ -96,7 +96,7 @@ the `--marionette-port <port>` flag is used specifically to instruct
the Marionette server in Firefox which port to use.

[user.js file]: http://kb.mozillazine.org/User.js_file
[`prefs` capability]: ./Capabilities.html#capability-prefs
[`prefs` capability]: https://developer.mozilla.org/en-US/docs/Web/WebDriver/Capabilities/firefoxOptions#prefs_preferences_object


Temporary profiles not being removed
Expand Down
33 changes: 18 additions & 15 deletions doc/Support.md
@@ -1,5 +1,5 @@
Supported platforms
===================
<!-- markdownlint-disable MD033 -->
# Supported platforms

The following table shows a mapping between [geckodriver releases],
and required versions of Selenium and Firefox:
Expand All @@ -22,41 +22,47 @@ and required versions of Selenium and Firefox:
<th>max
</tr>
</thead>
<tr>
<td>0.31.0
<td>≥ 3.11 (3.14 Python)
<td>91 ESR
<td>n/a
<tr>
<tr>
<td>0.30.0
<td>≥ 3.11 (3.14 Python)
<td>78 ESR
<td>n/a
<td>90
<tr>
<td>0.29.1
<td>≥ 3.11 (3.14 Python)
<td>60
<td>n/a
<td>90
<tr>
<td>0.29.0
<td>≥ 3.11 (3.14 Python)
<td>60
<td>n/a
<td>90
<tr>
<td>0.28.0
<td>≥ 3.11 (3.14 Python)
<td>60
<td>n/a
<td>90
<tr>
<td>0.27.0
<td>≥ 3.11 (3.14 Python)
<td>60
<td>n/a
<td>90
<tr>
<td>0.26.0
<td>≥ 3.11 (3.14 Python)
<td>60
<td>n/a
<td>90
<tr>
<td>0.25.0
<td>≥ 3.11 (3.14 Python)
<td>57
<td>n/a
<td>90
<tr>
<td>0.24.0
<td>≥ 3.11 (3.14 Python)
Expand Down Expand Up @@ -109,15 +115,13 @@ and required versions of Selenium and Firefox:
<td>62
</table>

Clients
-------
## Clients

[Selenium] users must update to version 3.11 or later to use geckodriver.
Other clients that follow the [W3C WebDriver specification][WebDriver]
are also supported.

Firefoxen
---------
## Firefoxen

geckodriver is not yet feature complete. This means that it does
not yet offer full conformance with the [WebDriver] standard
Expand All @@ -133,8 +137,7 @@ in the most recent Firefox versions, and we strongly advise using the
latest [Firefox Nightly] with geckodriver. Since Windows XP support
in Firefox was dropped with Firefox 53, we do not support this platform.

Android
-------
## Android

Starting with the 0.26.0 release geckodriver is able to connect
to Android devices, and to control packages which are based on [GeckoView]
Expand Down
4 changes: 2 additions & 2 deletions doc/Testing.md
Expand Up @@ -55,5 +55,5 @@ flag to geckodriver through WPT:
[cargo]: http://doc.crates.io/guide.html
[headless mode]: https://developer.mozilla.org/en-US/Firefox/Headless_mode
[mozconfig]: https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Build_Instructions/Configuring_Build_Options
[trace-level logs]: TraceLogs.html
[Marionette protocol]: https://firefox-source-docs.mozilla.org/testing/marionette/Protocol.html
[trace-level logs]: TraceLogs.md
[Marionette protocol]: /testing/marionette/Protocol.md
2 changes: 1 addition & 1 deletion doc/TraceLogs.md
Expand Up @@ -102,7 +102,7 @@ documentation to cover all the best known clients people use with
geckodriver. If you find your language missing, please consider
[submitting a patch].

[submitting a patch]: ../CONTRIBUTING.md
[submitting a patch]: Patches.md


C#
Expand Down

0 comments on commit 9b5f85c

Please sign in to comment.