Closed Bug 1387470 Opened 2 years ago Closed 2 years ago

Add extension capability to enable WebDriver conforming interactability checks

Categories

(Testing :: geckodriver, enhancement)

Version 3
enhancement
Not set

Tracking

(firefox57 fixed)

RESOLVED FIXED
mozilla57
Tracking Status
firefox57 --- fixed

People

(Reporter: ato, Assigned: whimboo)

References

Details

Attachments

(2 files)

In order to gather more data before landing
https://bugzilla.mozilla.org/show_bug.cgi?id=1321516, it needs
to be possible to enable the WebDriver conforming Element Click
implementation in Marionette from geckodriver.  Without it, external
consumers running Selenium tests will not be able to run their
existing body of tests against a WebDriver conforming Element Click
implementation.

This bug is to introduce a new extension capability to geckodriver.
This will then pass {specificationLevel: 1} on to Marionette,
which will make it use interaction.webdriverClickElement
instead of interaction.seleniumClickElement in
testing/marionette/interaction.js.
Blocks: 1321516
No longer blocks: 1321516
It would be good to have this in the upcoming 0.19 release of geckodriver.
Assignee: nobody → hskupin
Blocks: 1391605
Status: NEW → ASSIGNED
Andreas, I attached two patches which simply make it working. I'm struggling a bit with a better name for the custom capability, so I left it as `moz:specificationLevel` for now. Do you have any nice-sounding proposal of what we could use here? Finally I would prefer a boolean value here.

I think that we can safely get rid of the "specificationLevel" capability given that it has not been used beside our Marionette unit tests. Can you think about something else?
Flags: needinfo?(ato)
Oh, and do we want to expose this capability in our readme? I doubt so given that it will not exist that long.
(In reply to Henrik Skupin (:whimboo) from comment #4)

> I attached two patches which simply make it working. I'm
> struggling a bit with a better name for the custom capability, so
> I left it as `moz:specificationLevel` for now. Do you have any
> nice-sounding proposal of what we could use here? Finally I would
> prefer a boolean value here.
> 
> I think that we can safely get rid of the "specificationLevel"
> capability given that it has not been used beside our Marionette
> unit tests. Can you think about something else?

We can safely get rid of specificationLevel.  Like you, I don’t
think moz:specificationLevel is great either.  It originates from
a time when it was believed returning the specification level
supported by the implementation was a good idea.  We have since
decided to return the actual capabilities that the driver supports,
e.g. "rotatable".

Maybe moz:webdriverClick would work?  This is a capability that we
want to eventually get rid of anyway, so we should be too fuzzy
about picking any name.
Flags: needinfo?(ato)
Comment on attachment 8903628 [details]
Bug 1387470 - Use moz:webdriverClick capability for spec conforming element click.

https://reviewboard.mozilla.org/r/175402/#review181530
Attachment #8903628 - Flags: review?(ato) → review+
Comment on attachment 8903629 [details]
Bug 1387470 - Allow geckodriver to use the webdriver conforming click.

https://reviewboard.mozilla.org/r/175404/#review181532
Attachment #8903629 - Flags: review?(ato) → review+
Pushed by hskupin@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/8f6b800cfeee
Use moz:webdriverClick capability for spec conforming element click. r=ato
https://hg.mozilla.org/integration/autoland/rev/40fa31e34c5d
Allow geckodriver to use the webdriver conforming click. r=ato
https://hg.mozilla.org/mozilla-central/rev/8f6b800cfeee
https://hg.mozilla.org/mozilla-central/rev/40fa31e34c5d
Status: ASSIGNED → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla57
You need to log in before you can comment on or make changes to this bug.