-
Notifications
You must be signed in to change notification settings - Fork 37.8k
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.driverand rely purely onplaywrightAPIs for the driver - we need to investigate how others are using our current Electron based driver and whether they could adopt
playwrighttoo
[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.