WebDriver/Meetings/2019-01-28

From MozillaWiki
Jump to: navigation, search

Agenda

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)