-
Notifications
You must be signed in to change notification settings - Fork 35.7k
Description
We are using playwright
for our browser tests (#128061) and should explore to use this library also for our Electron based smoke tests.
Update (Nov 2021, @bpasero)
We now have a branch up and running with playwright
for Electron smoke tests: #136367
However, there are blocking issues:
- we see extension host connection hanging making the overall execution flaky ([1])
- we should explore to reduce or drop
window.driver
and rely purely onplaywright
APIs for the driver - we need to investigate how others are using our current Electron based driver and whether they could adopt
playwright
too
[1]
When the extension host connection hangs, messages that are passed between window process and extension host process (node.js socket / named pipe) are not fully transmitted. Since messages are not fully delivered, our protocol that is implemented on top does not work. Either the extension host is not receiving the initialization data from the window or the extension host is unable to acknowledge that it is ready.
We believe this may be related to how playwright
enables remote-debugging-port
which is something we never have enabled otherwise. Possibly this results in unknown runtime behaviour when the browser window has node.js enabled. We should revisit this when we have sandbox
enabled, though it might still not be an option given the shared process will remain node.js enabled for the time being.