WebDriver/Meetings/2019-01-28
From MozillaWiki
Contents
Agenda
- Actions
- Disable returning timeout errors for window manipulation commands (whimboo)
- Selenium logging API
- GeckoView startup notifications Marionette can rely on for initialization
Minutes
Actions
- whimboo
- I’ve ensured that we don’t return timeout errors when we don’t succeed in window manipulation commands.
- So my action is done!
Selenium logging API
- ato
- https://github.com/mozilla/geckodriver/issues/284
- Long standing issue that we haven’t implemented the Selenium log API.
- There are resonable arguments to implement, but also to not implement it.
- The reason we haven’t done it yet is primarily because it is not part of the spec.
- We have discussed logging at TPAC on multiple occassions.
- Simon [Stewart] made a strawman proposal for a new logging API which was never documented, and no one followed up.
- But I don’t think the answer here is a new logging API.
- Either we document and implement the one Chrome currently has, or we don’t do anything.
- Then at last TPAC it was suggested that it makes no sense for WebDriver to have a logging API if it allows an upgrade into CDP, as a bidirectional protocol would be much better suited to streaming logs.
- whimboo
- With Firefox 65 and onwards it is now possible to get Console API logs to stdout by setting a pref.
- Not possible currently to get the console service errors, but may be possible with a web extension?
- ato
- People might want to have more type of logs like HTTP, driver logs, and other things.
- But I agree it might a way to give people access to at least a minimum amount of logs.
- I think there is another pref for routing console service logs also to stdout, but I don’t remember what it is called.
- AutomatedTester
- The only people who implement this is Chrome as far as I remember.
- whimboo
- Do they also offer it in W3C compatible mode?
- ato
- It would surprise me if they didn’t.
- If Google is not willing to remove it, this is a compatiblity problem for us.
- Sadly there is no specification about it, which is one of the reasons why we haven’t implemented it.
- AutomatedTester
- I will talk to Philip and his team who could probably document it.
- ato
- I think it has to go into the spec.
- Look at the old Selenium JSON wire documentation which was kind of sparse in the past.
- If they want to keep it maybe we can get them to create a PR against the specification.
ACTION AutomatedTester: Talk to Philip about logging.
GeckoView startup notifications Marionette can rely on for initialization
- whimboo
- For reference: https://phabricator.services.mozilla.com/D17580
- nalexander has added a new system observer notification specifically for Marionette.
- For Firefox/Thunderbird we are relying on product specific notifications.
- I don’t want to see Marionette specific notification in the product itself.
- Something that not only Marionette can rely, but also others can rely on.
- ato
- I have to partly disagree with that given that we had to workaround some issues and find the right notification.
- Maybe it’s just that the observer notification has
marionette
in the name? - It would be good to have a unique message for all products, so maybe we can use his solution and get it into Firefox too?
- whimboo
- Shall we talk to Firefox devs for a right notification name?
- ato
- Nick’s concern is that we build up too much state for enabling Marionette.
- Maybe no one has interest in that and it’s really only Marionette.
- AutomatedTester
- If we can simplify Marionette and have a single entry point for setup, let’s use that approach.
- Let’s push this better to other teams and have them tell Marionette when the product is ready.
- ato
- It’s likely that at some point Firefox might also use GeckoView.
- GeckoView itself is just a shim on top of XPCOM with an FFI-compatible API, e.g. usable on Java/Android.
- This will not get easier when we have more products, so having more product integration—not less—would be better for us.
ACTION whimboo: File bugs to get the notification implemented for Firefox/Fennec and Thunderbird.
Intermittents update (whimboo)
- With using fluxbox as window manager for running web-platform tests on Taskcluster via xvfb the wpt.fyi test results for webdriver show window manipulation commands all as green now: https://wpt.fyi/results/webdriver/tests?label=master&label=experimental&product=chrome&product=firefox&product=safari
- The "New Window" command causes 1000s timeouts due to missing focus events when refocusing the original window (Bug 1523234).
- The Marionette mozharness config misses to set the window size on Win7, and doesn't disable the screensaver, taskbar, and desktop notifications which can cause various focus issues (Bug 1520175)
- Issues/problems with window manipulation tests
- [fixed] None of the commands raise a timeout error anymore and timeouts have been increased to 5s, which fixes various intermittent failures in our CI (Bug 1521527)
- [fixed] "WebDriver:MinimizeWindow" and "WebDriver:FullscreenWindow" didn't initially restore the normal window state before trying to switch into the requested state (Bug 1522408)
- To further check for possible hangs/failures the wdspec window manipulation tests will be enhanced and mostly completed (Bug 1521028)
Status updates
(Spoken status updates in bold.)
- whimboo
- [wpt-ci] Use a window manager when running test jobs via xvfb (#14938)
- [wdspec] Enhance/complete window manipulation tests (Bug 1521028)
- [geckodriver] Relaxe deserialization of timeouts parameters (Bug 1507283)
- [geckodriver] Release geckodriver 0.24.0 (Bug 1495062)
- [marionette Disable raising Timeout errors in window manipulation commands and increase timeout (Bug 1521527)
- [marionette] "WebDriver:MinimizeWindow" and "WebDriver:FullscreenWindow" don't initially restore normal window state (Bug 1522408)
- [marionette] WindowManagerMixin:open_chrome_window() registers focus event listeners too late (Bug 1522413)
PTO/travel (⛄️)
- whimboo away Tue 29 January
- ato away Thursday 31 January
- whimboo @FOSDEM in Brussels (Feb 1st - Feb 3rd)