Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mozilla/geckodriver.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Tolfsen <ato@sny.no>2018-02-14 17:00:21 +0300
committerAndreas Tolfsen <ato@sny.no>2018-02-14 17:00:21 +0300
commit09dcbe460f150290383b48c7a618fd30cfbdb348 (patch)
tree66139cfc10f84db887b7e4bd7ddec42a0c2ec590
parent04822d71eea8634346db7e75f08e8f8120fb87e9 (diff)
sync with central 90fab670c4e23
-rw-r--r--CONTRIBUTING.md39
-rw-r--r--ISSUE_TEMPLATE.md18
-rw-r--r--README.md44
3 files changed, 63 insertions, 38 deletions
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index d7e3fe0..cdc13e3 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -14,7 +14,7 @@ parts it can be useful to know about:
to communicate with, instrument, and control Gecko. It is
built in to Firefox and written in [XPCOM] flavoured JavaScript.
- * [_libwebdriver_] is a Rust crate providing interfaces, traits
+ * [_webdriver_] is a Rust crate providing interfaces, traits
and types, errors, type- and bounds checks, and JSON marshaling
for correctly parsing and emitting the [WebDriver protocol].
@@ -24,7 +24,7 @@ for contributing high-quality and actionable bugs and code.
[_geckodriver_]: ./README.md
[_Marionette_]: ../marionette/README.md
-[_libwebdriver_]: ../webdriver/README.md
+[_webdriver_]: ../webdriver/README.md
[WebDriver protocol]: https://w3c.github.io/webdriver/webdriver-spec.html#protocol
[XPCOM]: https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XPCOM/Guide
[Community Participation Guidelines]: https://www.mozilla.org/en-US/about/governance/policies/participation/
@@ -67,10 +67,16 @@ to report bugs that affect outdated and unsupported Firefoxen.
Please always try to verify the issue in the latest Firefox Nightly
before you file your bug.
+Once we are satisfied the issue raised is of sufficiently actionable
+character, we will continue with triaging it and file a bug where it
+is appropriate. Bugs specific to geckodriver will be filed in the
+[`Testing :: geckodriver`] component in Bugzilla.
+
[mailing list]: #communication
[trace-level log]: doc/TraceLogs.md
[GitHub issue tracker]: https://github.com/mozilla/geckodriver/issues
[README]: ./README.md
+[`Testing :: geckodriver`]: https://bugzilla.mozilla.org/buglist.cgi?component=geckodriver
Writing code
@@ -83,8 +89,8 @@ where to start. Please don’t hesitate to [ask questions]!
The canonical source code repository of geckodriver is now
[mozilla-central]. We continue to use the [GitHub issue tracker] as
a triage ground before actual, actionable bugs and tasks are filed
-in [Bugzilla]. We also have a curated set of [good first bugs]
-you may consider attempting first.
+in the [`Testing :: geckodriver`] component on Bugzilla. We also
+have a curated set of [good first bugs] you may consider attempting first.
The purpose of this guide _is not_ to make sure you have a basic
development environment set up. For that there is plentiful
@@ -95,7 +101,6 @@ Remember to [reach out to us] at any point if you have questions.
[ask questions]: #communication
[reach out to us]: #communication
[mozilla-central]: https://searchfox.org/mozilla-central/source/testing/geckodriver/
-[Bugzilla]: https://bugzilla.mozilla.org/buglist.cgi?cmdtype=runnamed&namedcmd=geckodriver&list_id=13825733
[good first bugs]: https://www.joshmatthews.net/bugsahoy/?automation=1&rust=1
[Developer Guide]: https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide
@@ -121,8 +126,7 @@ When you have, you are ready to start off your first build:
% ./mach build testing/geckodriver
-The geckodriver executable will appear in `${objdir}/dist/bin/geckodriver`
-alongside firefox-bin. To run it you can use mach:
+To run the executable from the objdir:
% ./mach geckodriver -- --version
0:00.27 /home/ato/src/gecko/obj-x86_64-pc-linux-gnu/dist/bin/geckodriver --version --binary /home/ato/src/gecko/obj-x86_64-pc-linux-gnu/dist/bin/firefox
@@ -149,18 +153,17 @@ a set of conformance tests with other browser vendors through the
compatibility between _different_ WebDriver implementations for
different browsers.
-In addition to the WPT tests, geckodriver and libwebdriver has
-unit tests. At the moment there is no way to run Rust unit tests
-through mach, although this is being worked on. For the moment
-you need to kick off a separate build using [cargo]:
+In addition to the WPT tests, geckodriver and webdriver have unit tests.
+You can use a mach command to run them:
+
+ % ./mach test testing/geckodriver
- % cd testing/geckodriver
- Compiling geckodriver v0.19.0 (file:///home/ato/src/gecko/testing/geckodriver)
- …
- test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
+The webdriver crate tests are unfortunately not yet runnable through mach.
+Work to make this possible is tracked in [[https://bugzil.la/1424369]].
+For the moment you must run them manually through `cargo`:
-Because the unit tests _are not_ currently run in the [Firefox CI],
-hopefully you will find that they all pass. (-:
+ % cd testing/webdriver
+ % cargo test
To run the more extensive WPT tests you can use mach, but first
make sure you have a build of Firefox:
@@ -224,4 +227,4 @@ channel on irc.mozilla.org. Don’t ask if you can ask a question, just
ask, and please wait for an answer as we might not be in your timezone.
[subscribe]: https://lists.mozilla.org/listinfo/tools-marionette
-[archive]: http://groups.google.com/group/mozilla.tools.marionette
+[archive]: https://groups.google.com/group/mozilla.tools.marionette
diff --git a/ISSUE_TEMPLATE.md b/ISSUE_TEMPLATE.md
index a97a84d..1d93c02 100644
--- a/ISSUE_TEMPLATE.md
+++ b/ISSUE_TEMPLATE.md
@@ -1,33 +1,29 @@
## System
+
* Version: <!-- geckodriver version -->
* Platform: <!-- e.g. Linux/macOS/Windows + version -->
* Firefox: <!-- from the about dialogue -->
-* Selenium: <!-- binding + version -->
+* Selenium: <!-- client + version -->
## Testcase
<!--
-Provide a minimal HTML document
-that can be used to reproduce the issue.
-The document should only contain the bare necessities
-required to observe the problem.
+Please provide a minimal HTML document which permits the problem
+to be reproduced.
-->
## Stacktrace
<!--
-Error and stacktrace produced by client binding.
+Error and stacktrace produced by client.
-->
## Trace-level log
<!--
-See https://github.com/mozilla/geckodriver#firefox-capabilities
-for making geckodriver produce a trace-level log.
-
-The short version is to either pass the -vv flag
-or {"moz:firefoxOptions": {"log": {"level": "trace"}}} as a capability.
+See https://searchfox.org/mozilla-central/source/testing/geckodriver/doc/TraceLogs.md
+for how to produce a trace-level log.
-->
diff --git a/README.md b/README.md
index a7775e0..d596a2e 100644
--- a/README.md
+++ b/README.md
@@ -21,7 +21,7 @@ the [Testing :: GeckoDriver] component.
[WebDriver protocol]: http://w3c.github.io/webdriver/webdriver-spec.html#protocol
[Firefox remote protocol]: https://developer.mozilla.org/en-US/docs/Mozilla/QA/Marionette
-[change log]: https://github.com/mozilla/geckodriver/blob/master/CHANGES.md
+[change log]: https://searchfox.org/mozilla-central/source/testing/geckodriver/CHANGES.md
[Releases]: https://github.com/mozilla/geckodriver/releases
[supported platforms]: #supported-firefoxen
[mozilla-central]: https://hg.mozilla.org/mozilla-central/
@@ -90,6 +90,7 @@ geckodriver supports a number of [capabilities]:
<td>Boolean initially set to false,
indicating the session will not implicitly trust untrusted
or self-signed TLS certificates on navigation.
+ <td>
</tr>
<tr>
@@ -104,6 +105,7 @@ geckodriver supports a number of [capabilities]:
waiting for the <code>complete</code> ready state;
or "<code>none</code>",
which will return immediately after starting navigation.
+ <td>
</tr>
<tr>
@@ -199,8 +201,7 @@ geckodriver supports a number of [capabilities]:
Firefox capabilities
====================
-geckodriver also supports capabilities with the `moz:` prefix, which can
-be used to define Firefox-specific capabilities.
+geckodriver has a few capabilities that are specific to Firefox.
moz:firefoxOptions
------------------
@@ -280,6 +281,23 @@ and run. It may contain any of the following fields:
</tr>
</table>
+moz:useNonSpecCompliantPointerOrigin
+------------------------------------
+
+A boolean value to indicate how the pointer origin for an action command
+will be calculated.
+
+With Firefox 59 the calculation will be based on the requirements by the
+[WebDriver] specification. This means that the pointer origin is no longer
+computed based on the top and left position of the referenced element, but
+on the in-view center point.
+
+To temporarily disable the WebDriver conformant behavior use `false` as value
+for this capability.
+
+Please note that this capability exists only temporarily, and that it will be
+removed once all Selenium bindings can handle the new behavior.
+
moz:webdriverClick
------------------
@@ -552,6 +570,13 @@ A helpful trick is that it is possible to bind to 0 to get the system
to atomically assign a free port.
+#### <code>--jsdebugger</code>
+
+Attach [browser toolbox] debugger when Firefox starts. This is
+useful for debugging [Marionette] internals.
+
+[browser toolbox]: https://developer.mozilla.org/en-US/docs/Tools/Browser_Toolbox
+
#### <code>-v<var>[v]</var></code>
Increases the logging verbosity by to debug level when passing a single
@@ -575,15 +600,16 @@ ensure you put this in your [mozconfig]:
ac_add_options --enable-geckodriver
-The _geckodriver_ binary will appear in `${objdir}/dist/bin/geckodriver`
-alongside _firefox-bin_.
+You build geckodriver with the `./mach build testing/geckodriver`
+command, run tests with `./mach test testing/geckodriver`, and run
+the built executable with `./mach geckodriver -- --other --flags`.
[Rust]: https://www.rust-lang.org/
[Mozilla]: https://www.mozilla.org/en-US/
-[webdriver crate]: https://github.com/mozilla/webdriver-rust
-[commands]: https://docs.rs/webdriver/0.25.0/webdriver/command/index.html
-[responses]: https://docs.rs/webdriver/0.25.0/webdriver/response/index.html
-[errors]: https://docs.rs/webdriver/0.25.0/webdriver/error/enum.ErrorStatus.html
+[webdriver crate]: https://crates.io/crates/webdriver
+[commands]: https://docs.rs/webdriver/newest/webdriver/command/index.html
+[responses]: https://docs.rs/webdriver/newest/webdriver/response/index.html
+[errors]: https://docs.rs/webdriver/newest/webdriver/error/enum.ErrorStatus.html
[Marionette protocol]: https://developer.mozilla.org/en-US/docs/Mozilla/QA/Marionette/Protocol
[WebDriver]: https://w3c.github.io/webdriver/webdriver-spec.html
[FirefoxDriver]: https://github.com/SeleniumHQ/selenium/wiki/FirefoxDriver