By logging the used browser arguments from geckodriver only the
-marionette argument ends up in the log. Instead mozrunner should
be used which knows about any of them.
MozReview-Commit-ID: J9px0pWSwQm
--HG--
extra : rebase_source : 36730f7c2ecffa7a28dda3d16404f523bd075d35
Upgrades the webdriver crate dependency to 0.29.0, which contains some
backwards incompatible changes for RectResponse. This type has been
split in two, WindowRectResponse and ElementRectResponse.
The former type contains a new "state" field which is already implemented
by Marionette. Because geckodriver is used with a range of earlier
Firefoxen, it defaults to "normal" window state if the field is not
returned from Marionette. This is acceptable.
MozReview-Commit-ID: FRxppRVmiZl
--HG--
extra : rebase_source : 4a86659f337598bb4f5623c51f5df288c8a5dd69
The canonical geckodriver source code no longer lives on GitHub, but
in mozilla-central's testing/geckodriver directory. Linking through
searchfox.org because it provides a better UI than hg.mozilla.org.
MozReview-Commit-ID: LmnviuC7Z9Y
--HG--
extra : rebase_source : 23f0e669bd719c595300d4e7ac38bc12f4937f57
Upgrades the mozrunner crate dependency by pinning it to 0.4.1. With `./mach vendor rust' I could not find any other way to force a new version to be downloaded because cargo, as far as I understand, does not yet support using crates.io as a fallback.
This patch also pins the mozprofile and mozversion dependencies exactly, although this is strictly not needed yet because they we have the latest versions vendored in-tree.
MozReview-Commit-ID: 8emDKbiYd0S
--HG--
extra : rebase_source : c153506f481255b2f9362e94da3254013ad522ab
This updates the vendored WebDriver crate to 0.27.0
MozReview-Commit-ID: HM6MIU9IDAq
--HG--
extra : rebase_source : 137941518076a8d99e5b8c40ac67ad60d9f205b9
This updates the vendored WebDriver crate to 0.27.0
MozReview-Commit-ID: HM6MIU9IDAq
--HG--
extra : rebase_source : c3b6cb7d0e2b7f7423d7880a936df52d081cd867
This updates the vendored WebDriver crate to 0.27.0
MozReview-Commit-ID: HM6MIU9IDAq
--HG--
extra : rebase_source : 080e3a35972079b86b03b731e83e5171c5918da4
This implements the geckodriver support for the Fullscreen Window command.
The API was introduced in the webdriver crate in
https://github.com/mozilla/webdriver-rust/pull/100
MozReview-Commit-ID: 3eIuLmGWl2x
--HG--
extra : rebase_source : 55b38b1ff2850d44b79270194874e7418d34a907
Update dependencies for mozrunner (0.4) and mozprofile (0.3) to
stop setting default preferences by mozrunner. This will also allow
to overwrite all preferences now via the moz:firefoxOptions capability.
MozReview-Commit-ID: IU0oKzRnnfG
--HG--
extra : rebase_source : 7f8946f7e22af9beebaddc52c78d549ddc898c87
geckodriver is the Mozilla implementation of the WebDriver remote
control interface for Gecko, and provides an HTTPD proxy that
translates the WebDriver protocol to Marionette.
Building this as part of the Firefox build will allow us to run
WPT WebDriver tests to verify our implementation of Marionette and
geckodriver. It also makes it less painful to make changes across
projects.
This change will cause the geckodriver program to be built as part
of regular Firefox builds, except on macOS and Android, and when artifact
builds are enabled.
RUST_PROGRAMS in cross-compile environments cause the wrong linker to
be used. When this bug is fixed, we should be able to enable building
of geckodriver on macOS. This work is tracked in:
https://bugzilla.mozilla.org/show_bug.cgi?id=1329737
On Android, we may one to build a binary for the host system to use
(x86_64), instead of an ARM binary for the emulator.
MozReview-Commit-ID: FG5tmPv4iut
--HG--
extra : rebase_source : 091728fd2582458325689fc6e3d8b317428802d8
Support the alwaysMatch/firstMatch new session command. Move the
capabilities handling into geckodriver as far as possible so that
marionette itself should not be rejecting sessions (as this is
expensive and can only happen after gecko starts). Use mozversion to
provide (currently somewhat hacky) version number matching for the
browserVersion capability.
Source-Repo: https://github.com/mozilla/geckodriver
Source-Revision: 6f1e3c192463342a0a49f5f3f0af914ad0e1ae7a
committer: Andreas Tolfsen <ato@mozilla.com>
--HG--
extra : rebase_source : eec91abc5dcab0f35cd758ad1900a5d15988bd0d
Asynchronous logging through slog has the downside that its buffer does
not flush on flushing the system's stderr.
Using synchronous logging should not have any notable performance
downsides for geckodriver.
Fixes#401.
Source-Repo: https://github.com/mozilla/geckodriver
Source-Revision: fdc2804ef05e450cd93d0939809c9e2b46645547
committer: David Burns <david.burns@theautomatedtester.co.uk>
--HG--
extra : rebase_source : d810813995fb0b8bf9842b4bfc7e0ed74cc023df
clap 2.14 introduced aliased arguments, which means we can remove the
workaround using a hidden argument.
Source-Repo: https://github.com/mozilla/geckodriver
Source-Revision: 5e93a93224ee00a6624f8c3cb32bb17546da9b56
committer: jgraham <james@hoppipolla.co.uk>
--HG--
extra : rebase_source : 028e314aba6e67db1343467b0b348c356412718f
* replace log with slog
The default log library has the disadvantage that it cannot be
reinitialised. geckodriver needs the ability to set up the logger
again with a log level passed in with the `firefoxOptions.log.level`
capability when a new session request is made.
slog redirects calls to the log crate's `info!()`, `debug!()`, `trace!()`
&c. macros to a drain that we reinitialise when `logging::init(level:
LogLevel)` is called.
As this patch removes the env-logger crate, support for setting the
`RUST_LOG` environment variable is removed with this patch. The correct
ways to request a log level is to use the `-vv` or `--log LEVEL` flags, or
the `firefoxOptions.log.level` capability as described in the README.md.
This patch also fixes a bug where the capability log level would
override the log level requested by flag in `MarionetteSettings`, causing
subsequent WebDriver sessions to inherit the log level. For example,
if session 1 used `firefoxOptions.log.level` and session 2 did not,
it would reuse the level from before because `MarionetteSettings` would
not be reset.
Source-Repo: https://github.com/mozilla/geckodriver
Source-Revision: bbdda6053ad15864393fe25bc067ad3668f9c047
committer: jgraham <james@hoppipolla.co.uk>
--HG--
extra : rebase_source : 178fe69b0d0f46d57fd95dfe95af40884b3dfe29
* fix shorthand verbosity flags
* allow firefoxOptions.log.level capability to control logging
The firefoxOptions.log.level capability may optionally be passed to the
New Session command, which will initialise the env_logger and override
the verbosity level requested from command-line flags or the RUST_LOG
environment variable.
When the flags are used these will from now on also enable the env_logger.
* remove default implementation for MarionetteSettings
* raise default log level to info
Source-Repo: https://github.com/mozilla/geckodriver
Source-Revision: 2277355d9c7c542266d76884c406622d7d6ed24c
committer: jgraham <james@hoppipolla.co.uk>
--HG--
extra : rebase_source : d0ea581f2e91a65de3a08c0b958c43c0565b37d2
Log listening host and port
Source-Repo: https://github.com/mozilla/geckodriver
Source-Revision: acfde732fe4381e63b7e17664c92de9eb339ddfc
--HG--
extra : rebase_source : e05939d34e5abb0d39b6eb3d3a1776d7ecfc1d69