According to many surveys VSCode has shown to be the favorite IDE of choice for developers. However, everyone who has tried to build a VSCode extension has realized that testing it from end to end is a difficult endeavor. The VSCode ecosystem has not yet provided the tools to make this simple and efficient. Therefore many extensions are lacking tests especially when they consist of different webviews and panels. This can hurt the developer experience for extension users.
With VSCode being based on top of Electron there are various options to automate it like any other Electron application. Many developers have been using Spectron for their Electron UI tests, but unfortunately this package just got deprecated by the Electron community. To fill the gap the WebdriverIO community has been working on a replacement which integrates nicely into the WebdriverIO ecosystem and helps to test Electron applications even more efficiently with web standards like WebDriver.
In this talk Christian Bromann, Software Engineer at Stateful, will showcase how to write UI tests for Electron applications and particularly will uncover how VSCode extension developers can use this stack to test complex extensions from end to end.