KEMBAR78
Use `playwright` for desktop smoke tests · Issue #128479 · microsoft/vscode · GitHub
Skip to content

Use playwright for desktop smoke tests #128479

@joaomoreno

Description

@joaomoreno

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 on playwright 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.

Metadata

Metadata

Labels

debtCode quality issuesengineeringVS Code - Build / issue tracking / etc.insiders-releasedPatch has been released in VS Code InsiderssandboxRunning VSCode in a node-free environment

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions