Allow configuration of "implicit" and "pageLoad" timeouts to accept "null" values
Categories
(Remote Protocol :: Agent, defect, P3)
Tracking
(firefox149 fixed)
| Tracking | Status | |
|---|---|---|
| firefox149 | --- | fixed |
People
(Reporter: yezhizhenjiakang, Assigned: whimboo, Mentored)
References
(Blocks 1 open bug)
Details
(Whiteboard: [webdriver:m19], [wptsync upstream][webdriver:relnote])
Attachments
(5 files)
User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0
Steps to reproduce:
I ran wpt tests and look at the code base.
Actual results:
https://hg-edge.mozilla.org/mozilla-central/file/tip/testing/webdriver/src/capabilities.rs#l377
We currently only allow script timeout to be None.
Expected results:
Spec allows implicit wait timeout and page load timeout to be None:
https://w3c.github.io/webdriver/#dfn-deserialize-as-timeouts-configuration
This should be very easy to fix by: x @ "script" | x @ "pageLoad" | x @ "implicit" if value.is_null() => {}
https://hg-edge.mozilla.org/mozilla-central/file/tip/testing/webdriver/src/capabilities.rs#l377
I don't have proper environment to do this tho.
See WPT updates:
https://github.com/web-platform-tests/wpt/pull/56959
Comment 3•4 months ago
|
||
The Bugbug bot thinks this bug should belong to the 'Core::DOM: Core & HTML' component, and is moving the bug to that component. Please correct in case you think the bot is wrong.
| Assignee | ||
Comment 4•4 months ago
|
||
Thank you for letting us know. Interesting that this hasn't been noticed yet. It would be good to wait until the upstream PR has merged and downstream synced via bug 2008343.
| Assignee | ||
Updated•4 months ago
|
| Assignee | ||
Updated•4 months ago
|
| Assignee | ||
Comment 6•4 months ago
|
||
I tried that little fix but it turned out that the tests are still not working as expected. Fixing those turned out issues with the webdriver client as well when using the Set Timeout command. As such I put together a patch including the fixes and adding more tests to ensure that null actually doesn't break any other command (navigate, refresh, back, forward, and all the variants of find element(s)) as well.
Here a try build: https://treeherder.mozilla.org/jobs?repo=try&landoCommitID=172018
We probably need to change following struct as well:
https://hg-edge.mozilla.org/mozilla-central/file/tip/testing/webdriver/src/response.rs#l103
They should all be Option<u64>.
Also following to Option<Option<u64>>:
https://hg-edge.mozilla.org/mozilla-central/file/tip/testing/webdriver/src/command.rs#l772
I'm not familiar with the interface here. How can I see your @whimbo proposed PR?
| Assignee | ||
Comment 9•4 months ago
|
||
In my last try build there was still a bug in our wait for navigation completed logic where we tried to use a TimedPromise even when the pageLoad timeout is set to null. Here a new try build with the fix:
https://treeherder.mozilla.org/jobs?repo=try&landoCommitID=172034
(In reply to Euclid Ye from comment #8)
I'm not familiar with the interface here. How can I see your @whimbo proposed PR?
Open that try URL and on the left side you can see the individual commits that I pushed. It's covering Marionette, Remote Agent, geckodriver, webdriver, wpt's webdriver client and wdspec tests.
| Assignee | ||
Comment 10•4 months ago
|
||
Updated•4 months ago
|
| Assignee | ||
Comment 11•4 months ago
|
||
| Assignee | ||
Comment 12•4 months ago
|
||
| Assignee | ||
Comment 13•4 months ago
|
||
| Assignee | ||
Comment 14•4 months ago
|
||
| Assignee | ||
Updated•4 months ago
|
| Assignee | ||
Updated•3 months ago
|
Comment 15•3 months ago
|
||
Comment 17•3 months ago
|
||
| Assignee | ||
Comment 19•3 months ago
|
||
There are additional tests under testing/geckodriver/marioneette which were not executed when I run the tests locally with cargo test under testing/geckodriver. :( It's annoying that you have to be in each crate's folder. I fixed those tests and to be fully sure now I have pushed to try:
https://treeherder.mozilla.org/jobs?repo=try&revision=87208943144aaee2b249d53bdd1d491ecb3d982c
If it's all fine I'll reland the patches.
Comment 20•3 months ago
|
||
Comment 21•3 months ago
|
||
| bugherder | ||
https://hg.mozilla.org/mozilla-central/rev/6e5cba21e444
https://hg.mozilla.org/mozilla-central/rev/009c9e0c717b
https://hg.mozilla.org/mozilla-central/rev/e27a9a0758d6
https://hg.mozilla.org/mozilla-central/rev/8e1f4ed0592e
https://hg.mozilla.org/mozilla-central/rev/ebfab89fc1d5
Updated•1 month ago
|
Description
•