How to transfer your test from Selenium Webdriver to WebdriverIO?
WebdriverIO is fantastic. If you’re using Selenium-Webdriver (the official JS library) instead, you’re almost certainly making a mistake.
A core part of testing Build Focus is ensuring it concretely works in real browsers. Automating that with Selenium keeps me honest, gives me confidence, and saves me time and effort checking builds myself.
The wider testing setup is a whole post in itself, but I do find there’s big value in having a small suite of tests that make it essentially impossible for me to accidentally release a totally broken build.
These tests are optimized for that case: smoke testing basic functionality throughout the app, to ensure it’s possible to install it, open it up and look at your city, to start focusing, to fail, and to successfully concentrate and start building a city.
I added all these early on in the project, and they haven’t changed much since; most real testing happens in unit tests and acceptance tests run at a slightly lower level, where I don’t need to startup a whole fresh browser and install the extension each time.
This is all well and good, but occasionally there’s some maintenance required here, I want to show why & how I migrated my tests from Selenium-Webdriver to WebdriverIO recently, and the many ways it’s made everything involved drastically better.