WebDriver/RemoteProtocol/Meetings/2019/05/21
From MozillaWiki
< WebDriver | RemoteProtocol | Meetings(Redirected from Remote/Meetings/2019/05/21)
Contents
Agenda
- Current work/coming up next
- Puppeteer tests on try update (ato)
- Gutenberg tests
- puppeteer-firefox/juggler is having the following results:
Tests: 129 failed, 4 skipped, 247 passed, 380 total - With all patches attached to the child of this meta bug), on mozilla-central, we get:
Tests: 77 failed, 4 skipped, 299 passed, 380 total - This at least comes from fixes in key and mouse events.
- List of all puppeteers methods to be implemented to Gutenberg
- Similar list, but for all CDP methods/events.
- Tasks left:
- land various simple CDP method/events (Target.closeTarget, DOM.getContentQuads, ...). We mostly have to write unit tests.
- Implement request interception to fix just a couple of tests (bug)
- Implement dialog control methods (Page.handleJavaScriptDialog/Page.javascriptDialogOpening), used by a few tests (bug).
- Support almost all key events, this is challenging! (bug)
- puppeteer-firefox/juggler is having the following results:
- Collaboration
- Other announcements
Roster
- Present
- ato, mmucci, jdescottes, einbinder, andrey, yulia, AutomatedTester, past
- Regrets
- sole
Minutes
Current work/coming up next
Puppeteer tests on try update
- Vendoring of Puppeteer npm package done
- Can’t vendor its dependencies due to the large number of dependencies (~88M, >400M with Chrome)
- mozharness generally a bit of a pain to deal with and wasted a lot of time on that
- jgraham suggested to me to use a full source checkout, similarly to what we do for the Node.js-based linting task
- Has the benefit that all we need is a mach command that runs the tests, since you will have access to mach through having a full source checkout
Gutenberg tests
- We are slightly ahead of Juggler on passing the Gutenberg tests, and making good progress
- puppeteer-firefox/juggler is having the following results:
Tests: 129 failed, 4 skipped, 247 passed, 380 total
- With all patches attached to the child of this meta bug), on mozilla-central, we get:
Tests: 77 failed, 4 skipped, 299 passed, 380 total
- There are a few edge cases that requires some workarounds
- Alex has some work in progress patches, but they are completely missing tests
- Looks like the Gutenberg tests depend on only a limited subset of Network domain events; not so much on instrumentation, just that events fire
- Key events will take a lot of work
- Shift + Click, Control + Shift + a key workarounds
- The workarounds are not really satisfying, hoping to get some help from other Mozillians
Questions:
- (einbinder) Could we get upstream tests to Puppeteer for the discrepancies?
- (ochameau) there are some differences with special input keys [?]
- (past) Experimental CDP methods?
- (andrey) We cannot guarantee that the experimental bits are not stable yet and that they will continue changing
- (ochameau) There are different levels of stability, I’ve noticed you don’t change core functionality that often
- For example, Gutenberg doesn’t use lifecycle events
- (ato) [something about real world tests]
- (einbinder) This is true, for example what CDP methods the Puppeteer API uses can change and that is linked to a specific Chrome version
Resources:
- List of all Puppeteers methods to be implemented for Gutenberg
- Similar list, but for all CDP methods/events
Tasks left:
- Land various simple CDP method/events (
Target.closeTarget
,DOM.getContentQuads
, et al.) - We mostly have to write unit tests
- Implement request interception to fix just a couple of tests (bug 1552326)
- Implement dialog control methods (
Page.handleJavaScriptDialog
/Page.javascriptDialogOpening
), used by a few tests (bug 1545724) - Support almost all key events, this is challenging! (bug 1543142)
Collaboration
- (ato) What is your plan going forward in relationship to Juggler?
- (andrey) Our priority is to gain Firefox support
- We seem to have a different vision on the firefox-puppeteer npm package and managing
- We don’t think you should implement experimental CDP methods in Firefox at all, it’s a dead end
- For Puppeteer we will regardless end up needing a Firefox specific abstraction
- For example the network code works differently in Chrome and Firefox, and I suspect you don’t want to change Firefox to match Chrome’s behaviour because that would be a hassle
- Besides the Debugging and [inaudible] domains used by VSCode and a few other debugger tools, there’s not a single other tool out there in the wild that uses CDP so I’m not sure why you’re insisting on implementing CDP: we should instead all standardise on Puppeteer
Meeting time error
This meeting was scheduled for the wrong time slot. It should be one hour earlier.
Other announcements
We will continue the discussion on how to deal with rapidly changing experimental CDP APIs in a separate meeting on Thursday at 17:30 BST.
einbinder/andrey and ochameau will prepare proposals before then.
Changelog
% git log --date=iso --pretty=format:'%ad%x09%H' -- remote/ | awk '$0 >= "2019-05-14" && $0 <= "2019-05-21"' | awk -F $'\t' '{print $2}' | xargs git show -s --format='%h%x09%s' 7d2710f26f95 Bug 1549785 - Fix Remote object support for Node/Elements objects. r=remote-protocol-reviewers,ato c2bdbe7ffd2e Bug 1549785 - Implement Runtime.releaseObject. r=remote-protocol-reviewers,ato 5ca7ee561a46 Bug 1551689 - Print listener address with a new-line. r=remote-protocol-reviewers,ato a0556ad84bff Bug 1548102 - Coordinate Page.frameNavigated and Runtime.executionContextDestroyed/Created events. r=remote-protocol-reviewers,ato 8abd0aadefc1 Bug 1549384 - Implement Page.getFrameTree. r=remote-protocol-reviewers,ato
Work
- Current milestone
- MVP dependency tree
- General overview
- Puppeteer dependency tree
- All ze boogs
- Velocity tracking
- Project tracking dashboard
- All project work currently in development
- Available MVP project work
- Completed MVP project work
PTO (🌤)
- ochameau away:
- Friday 24 May
- May 27–16 June
- ato away Monday 27 May (Bank Holiday)