WebDriver/Meetings/2019-02-04

From MozillaWiki
Jump to: navigation, search

Agenda

  • Actions
    • File bugs to get the start-up notifications for Marionette implemented for Firefox/Fennec and Thunderbird (whimboo)
    • Talk to foolip about the Selenium log API and if they would like to spearhead standardising it (AutomatedTester)
  • Feedback from FOSDEM
    • Talk about Marionette
    • Add deprecation warning to Marionette client documentation
  • Allowing await in ExecuteScript and ExecuteAsyncScript even if not specified in the WebDriver spec?

Minutes

Actions

  • File bugs to get the start-up notifications for Marionette implemented for Firefox/Fennec and Thunderbird (whimboo)
    • Not done yet because there are some patches in review.
  • Talk to foolip about the Selenium log API and if they would like to spearhead standardising it (AutomatedTester)
    • Not done yet.

Feedback from FOSDEM

whimboo
[Talks about what FOSDEM was like.]
There was a talk about Marionette, and it was good.
He was doing some work for Wikipedia [that he used Marionette for].
But the talk would’ve been better if it was using Selenium.
He mentioned that Selenium doesn’t work since Firefox 55, but I think there was a disconnect between Selenium IDE, FirefoxDriver, and geckodriver.
I had to clarify this.
He was not aware that we were phasing out marionette_driver.
ato has written a patch to move marionette_driver API docs to firefox-source-docs.m.o, but we should add a deprecation warning on there.

ACTION whimboo: Add deprecation notice to marionette_driver API docs

ato
The timing here wasn’t great, because the CFP was before we made the deprecation announcement.
AutomatedTester
The most important thing is that he now has a contact.
We should encourage people to talk about the work that Mozilla produces.
At least he knows us not, or knows whimboo.
whimboo
Last question was: “Is there a way to open a new tab?”
Yes! I mentioned that we now have it in geckodriver and Firefox 66.
Last thing remaining is to update the Selenium clients.

New Window API

whimboo
Maybe out of scope for this meeting, but perhaps we should discuss what the API should look like.
https://github.com/SeleniumHQ/selenium/issues/6873
ato wasn’t happy with the patch I did with the WPT WebDriver client.
AutomatedTester
Jim has implemented in the C# bindings, where he has switch_to_new_window.
I quite like that.
Hardly ever is anyone going to create a new window but not switch to it.
https://github.com/SeleniumHQ/selenium/blob/master/py/selenium/webdriver/remote/switch_to.py
https://github.com/SeleniumHQ/selenium/commit/494926783058d5bea30c71c9cd1a8f2be2deafc0#diff-85c69322756e01fd4a7a22de55e19743
ato
[Discusses differences between WPT WebDriver client and Selenium WebDriver client APIs with AutomatedTester.]
whimboo
Let me have a look at this.

ACTION whimboo: Get the new window method implemented for the Python binding

Python 3 support

whimboo
We don’t have Python 3 support for marionette_driver in central.
Python 2.7 life is coming to and end early 2020.
The mozbase packages are nearly there, so once that is done we could have a look.
If support, e.g. via six, is easy we could ship it before the last release of the client.

await in WebDriver:{ExecuteScript,ExecuteAsyncScript}

whimboo
I wonder if we should get support for await inside the wrapped function.
We don’t explicitly mark the internal function we create as async.
Do we want to allow it?
ato
I think the expectation is that the anonymous function should work like a promise function.
Mike rewrote the spec prose, which was originally done by jleyba, and may have misunderstood.
But at least the spec now uses the W3C Promises guide correctly for its internal algorithm.
Christian Bromann also had the expectation that the inner wrapping function should be async when he wrote WPT tests for this.
whimboo
Should we add this to the specification?
ato
Yes, we should probably do.
But I don’t know how!
whimboo
I nearly got all the WPT promise tests working, but it sounds like we need a specification change here.
ato
We also want to get rid of sandboxes, but it’s not really related to conformance.
whimboo
Yeah, let’s leave that for now.

geckodriver 0.24.0 release

whimboo
I made a release!
I’ve also updated the release documentation.
I’m now comfortable making more releases in the future.
I wonder how much should publicise the releases?
ato
I used to send emails to selenium-users@ and selenium-developers@, but I don’t anymore because I’ve stopped subscribing to them.
whimboo
Maybe writing a blog post?
ato
That sounds like a good idea.
I have written at least a couple of those in the past, but I’ve stopped.

Intermittents update (whimboo)

  • [needs investigation] High intermittent leak in Firefox when aborting a longer page load by closing the tab with Marionette (Bug 1486101). Even after weeks it's unclear who will/can investigate it.
  • [needs investigation] The marionette client hangs 1000s due to logged channel errors from Firefox (Bug 1521447).

Status updates

(Spoken status updates in bold.)

  • whimboo
    • [geckodriver] Release geckodriver 0.24.0 (Bug 1495062)
    • [geckodriver] Update table structures, and support table for the geckodriver 0.24.0 release (Bug 1523913)
    • [geckodriver] Update release documentation (Bug 1523318)
    • [mdn] Added https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/65#WebDriver_conformance_(Marionette)
    • [firefox] Created testcase for Intermittent Assertion failure: m_refCount == 1, at /builds/worker/workspace/build/src/js/src/jit/ExecutableAllocator.cpp:51 (Bug Bug 1486101)
    • [marionette] Fix script_timeout regressions for Execute (Async) Script since the landing of bug 1510929 (Bug 1524243)
    • [marionette] WebDriver:{ExecuteScript,ExecuteAsyncScript} to use promises internally (Bug 1398095)
  • ato
    • Published marionette_driver API docs to firefox-source-docs.m.o (1523962)
    • Fixed incorrect nesting (i.e. /marionette/marionette) for geckodriver and Marionette server documentation on firefox-source-docs.m.o (1523962)
    • Highlighted that path given in binary capability needs to be absolute on macOS (MDN and 1524586)
    • Bug triage of Testing :: Marionette and Testing :: geckodriver

PTO/travel (⛄️)

  • ato away Tuesday 5 February or Thursday 7 Feburary, depending on protocdp feedback