WebdriverIO - Easy setup, small learning curve and easy to scale tests
January 07, 2022

WebdriverIO - Easy setup, small learning curve and easy to scale tests

Anonymous | TrustRadius Reviewer
Score 9 out of 10
Vetted Review
Verified User

Overall Satisfaction with WebdriverIO

We use WebdriverIO as a bridge between the tests for our games and Saucelabs and their VMs/Devices. Tests are written in Javascript where we then have a middle layer that handles getting to the games on a browser to then execute those written tests. This way, test writers do not need to know how to trigger the tests on the devices they need and just specify it through parameters. WebdriverIO is used as the interface that takes these parameters and then launches the tests to Saucelabs
  • Most parameters are input in one place (wdio.conf)
  • Tests can be organised using a separate test execution framework like Mocha
  • Easy typescript transition
  • wdio.conf can contain too much where everything is encapsulated there, like the before and after functions
  • A data provider-like testing would be useful. The only way to input different data into the same test is via a loop
  • everything is needed to be done using the 'browser' object. Can be limiting where you don't have access to the browser depending on where you are in the code
  • Easy integration with Saucelabs via sauce services
  • Easy integration with a separate test execution framework like jasmine or mocha - can pick and choose as needed
  • Gives easy access to Saucelabs Devices and VMs to the frontend developers who don't have to fiddle around with connection to Saucelabs itself - so ROI on Saucelabs as webdriverIO is free
  • The small learning curve to actually get set up and running - our working framework was written in a few days
Was missing a few from the list, but we also tried: Jest Puppeteer Nightwatch.js Webdriver.js Webdriver.io compared to the above ticked more boxes. Some of the things we looked for: Async/sync support Popularity within the community Support for screenshots Access to Dev tools Ability to run locally Support for BDD Ability to use Saucelabs Multiple browser sessions Headless browser support

Do you think WebdriverIO delivers good value for the price?

Yes

Are you happy with WebdriverIO's feature set?

Yes

Did WebdriverIO live up to sales and marketing promises?

Yes

Did implementation of WebdriverIO go as expected?

Yes

Would you buy WebdriverIO again?

Yes

'Pros' Scenarios Those are new to javascript but may have a background with another language. It is super simple to get started up and most of your parameters needed are plugged in one place (wdio.conf file) 'Cons' Scenarios It was very fiddly to use data between the tests and the before/after functions. They are located in different places and needed a workaround to share data between the two places It's not elegant when creating data-driven test cases. Have to surround tests with a loop to then plug in the data needed