Open
Bug 1418995
Opened 7 years ago
Updated 1 month ago
WebDriver:ElementSendKeys to use action primitives
Categories
(Remote Protocol :: Marionette, enhancement, P2)
Remote Protocol
Marionette
Tracking
(Not tracked)
NEW
People
(Reporter: whimboo, Unassigned)
References
(Depends on 1 open bug, Blocks 12 open bugs)
Details
The webdriver spec says that send keys has to use the action primitives for synthesizing the key codes. Right now it's using its own implementation.
Updated•7 years ago
|
Blocks: webdriver
OS: Unspecified → All
Priority: P3 → P2
Hardware: Unspecified → All
Version: Version 3 → Trunk
Updated•7 years ago
|
Summary: sendkeys() has to use the action primitives → Use action primitives for WebDriver:ElementSendKeys
Updated•7 years ago
|
Summary: Use action primitives for WebDriver:ElementSendKeys → WebDriver:ElementSendKeys to use action primitives
Reporter | ||
Comment 2•6 years ago
|
||
To solve this we cannot simply refactor `event.sendKeysToElement()` because this is still in use by the `legacySendKeysToElement()` method. And this we have to keep for a while, until we can be sure to remove the `moz:webdriverClick` compat flag.
As such the entry point which would need that change is `interaction.webdriverSendKeysToElement()`.
Once we got rid of all the old cruft, we can then remove no longer used methods.
Assignee: nobody → hskupin
Status: NEW → ASSIGNED
Reporter | ||
Updated•6 years ago
|
Priority: P2 → P1
Comment 3•6 years ago
|
||
(In reply to Henrik Skupin (:whimboo) from comment #2)
> To solve this we cannot simply refactor
> `event.sendKeysToElement()` because this is still in use by the
> `legacySendKeysToElement()` method. And this we have to keep for
> a while, until we can be sure to remove the `moz:webdriverClick`
> compat flag.
Would it be easier to duplicate sendKeysToElement inside
legacyaction.js to unblock this?
It of course depends on how difficult it is to remove legacy actions
completely, but I wouldn’t want to block anything related to
WebDriver conformance on the count of legacy actions.
Reporter | ||
Comment 4•6 years ago
|
||
(In reply to Andreas Tolfsen ❲:ato❳ from comment #3)
> Would it be easier to duplicate sendKeysToElement inside
> legacyaction.js to unblock this?
I don't see anything related to `sendKeysToElement` for legacy actions. Those only support `keyDown` and `keyUp`.
> It of course depends on how difficult it is to remove legacy actions
> completely, but I wouldn’t want to block anything related to
> WebDriver conformance on the count of legacy actions.
I have already made a bit of progress on that bug by Tuesday and the implementation is actually more complex as I have thought. But anyway, nothing from the legacy actions should block it. We will only have to leave `event.sendKeysToElement()` in-place for now, and can remove it later once legacy actions are no longer a thing.
For the first implementation here I will drop the part of splitting the string by grapheme clusters, similar what Maja did earlier for the initial actions implemenatation. I will file a follow-up bug to get this implemented afterward, also because it won't be a regression due to we aren't doing it those days.
Reporter | ||
Comment 5•6 years ago
|
||
Also note that our event.js module is kinda outdated and doesn't contain any of the composition related key ynthesizing methods yet. I will have to sync the file with the latest version of EventUtils.js:
https://dxr.mozilla.org/mozilla-central/source/testing/mochitest/tests/SimpleTest/EventUtils.js
Reporter | ||
Comment 6•6 years ago
|
||
James, there is an open action for you from our meeting at TPAC in updating the WebDriver specification for https://github.com/w3c/webdriver/issues/1322. Could you please have a look at it? Thanks.
Flags: needinfo?(james)
Reporter | ||
Comment 7•6 years ago
|
||
We cannot actually do this switch without having chrome support for Actions (bug 1365886).
Depends on: 1365886
Reporter | ||
Updated•6 years ago
|
Assignee: hskupin → nobody
Status: ASSIGNED → NEW
Type: defect → enhancement
Priority: P1 → P2
Reporter | ||
Updated•3 years ago
|
Flags: needinfo?(james)
Reporter | ||
Comment 8•3 years ago
|
||
(In reply to Henrik Skupin (:whimboo) [⌚️UTC+1] from comment #6)
James, there is an open action for you from our meeting at TPAC in updating
the WebDriver specification for
https://github.com/w3c/webdriver/issues/1322. Could you please have a look
at it? Thanks.
James, how much work do you think is needed to get that updated? Not sure about our own importance right now, but I wonder how this affects other driver implementations.
Flags: needinfo?(james)
Comment 9•3 years ago
|
||
The way I expect this to happen at this point is:
- Convert actions to BiDi
- Rewrite WebDriver Classic in terms of BiDi
I don't think it's going to get higher priority than that.
Flags: needinfo?(james)
Updated•2 years ago
|
Severity: normal → S3
Updated•2 years ago
|
Product: Testing → Remote Protocol
You need to log in
before you can comment on or make changes to this bug.
Description
•