WebdriverIO is a progressive automation framework built to automate modern web and mobile applications. It simplifies the interaction with your app and provides a set of plugins that help you create a scalable, robust and stable test suite.
It is designed to be:
- Extendable - Adding helper functions, or more complicated sets and combinations of existing commands is simple and really useful
- Compatible - WebdriverIO can be run on the WebDriver Protocol for true cross-browser testing as well as Chrome DevTools Protocol for Chromium based automation using Puppeteer.
- Feature Rich - The huge variety of built-in and community plugins allows you to easily integrate and extend your setup to fulfill your requirements.
You can use WebdriverIO to automate:
- 🌐 modern web applications written in React, Vue, Angular, Svelte or other frontend frameworks
- 📱 hybrid or native mobile applications running in an emulator/simulator or on a real device
- 💻 native desktop applications (e.g. written with Electron.js)
- 📦 unit or component testing of web components in the browser
Based on Web Standards
Furthermore WebdriverIO has also support for alternative, proparitary automation protocols like Chrome DevTools for debugging and introspection purposes. This allows the user to seamlessly switch between conventional commands based on WebDriver and powerful browser interactions through Puppeteer.
Read more about the differences of these automation standards in the section on Automation Protocols.
True Open Source
Compared to many automation tools in the ecosystem, WebdriverIO is a truly open source project that is run with open governance and owned by a non-profit entity called OpenJS Foundation. This legally binds the project to grow and be directed in the interest of all participants. The project team values openness and collaboration and is not driven by monetary interests.
This makes the project independent in how it is being developed and where it is supposed to go. It allows us to provide a free 24/7 support in our community channel as we build a sustainable community that supports and learns from each other. Lastly, it gives a lot of opportunities to the people that contribute and engage with the project due to its open governance.