Description
This library is a webdriver
(browser automation) module for Node.JS. It makes it possible to write
super easy Selenium tests in your favorite
BDD/TDD test framework, that will run locally or in the cloud using Sauce Labs, BrowserStack or TestingBot.
WebdriverIO is agnostic with regards to the test framework you want to use. Cucumber, Jasmine and Mocha+Chai
are supported by the configuration wizard, and you can use other frameworks as well - for example
Yadda.
WebdriverIO alternatives and similar libraries
Based on the "Testing Frameworks" category.
Alternatively, view WebdriverIO alternatives based on common mentions on social networks and blogs.
-
Playwright
Playwright is a framework for Web Testing and Automation. It allows testing Chromium, Firefox and WebKit with a single API. -
nightwatch
Integrated end-to-end testing framework written in Node.js and using W3C Webdriver API. Developed at @browserstack -
istanbul
Yet another JS code coverage tool that computes statement, line, function and branch coverage with module loader hooks to transparently add coverage when running tests. Supports all JS coverage use cases including unit tests, server side functional tests and browser tests. Built for scale. -
chai
BDD / TDD assertion framework for node.js and the browser that can be paired with any testing framework. -
blanket
blanket.js is a simple code coverage library for javascript. Designed to be easy to install and use, for both browser and nodejs. -
autochecker
âģī¸ Test your libraries in many different versions of NodeJS, Ruby, Java and many other languages -
Xeito
đ¤ Xeito is a framework for building interactive web applications with Typescript and Tagged Template Literals. -
MonsterJS
DISCONTINUED. Simple but powerful progressive JavaScript framework based on web components. -
react testing library
Simple and complete React DOM testing utilities that encourage good testing practices.
SaaSHub - Software Alternatives and Reviews
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of WebdriverIO or a related project?
README
Next-gen browser and mobile automation test framework for Node.js.
Homepage | Developer Guide | API Reference | Contribute | Changelog | Roadmap
WebdriverIO is a test automation framework that allows you to run tests based on the Webdriver protocol and Appium automation technology. It provides support for your favorite BDD/TDD test framework and will run your tests locally or in the cloud using Sauce Labs, BrowserStack, TestingBot or LambdaTest.
:woman_technologist: :man_technologist: Contributing
You like WebdriverIO and want to help making it better? Awesome! Have a look into our [Contributor Documentation](CONTRIBUTING.md) to get started and find out what contributions can be and how to make them. You can also just click on:
to get a ready-to-use development environment for you to start working on this code base.
If you're looking for issues to help out with, check out the issues labelled "good first pick". You can also reach out in our Gitter Channel if you have question on where to start contributing.
:office: WebdriverIO for Enterprise
Available as part of the Tidelift Subscription.
The maintainers of WebdriverIO and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open source dependencies you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact dependencies you use. Learn more.
:package: Packages
This repository contains some of the core packages of the WebdriverIO project. There are many wonderful curated resources the WebdriverIO community has put together.
Did you build a WebdriverIO service or reporter? That's awesome! Please add it to our configuration wizard and docs (e.g. like in this example commit) as well as to our awesome-webdriverio list. Thank you! đ â¤ī¸
Core
- webdriver - A Node.js bindings implementation for the W3C WebDriver and Mobile JSONWire Protocol
- devtools - A Chrome DevTools protocol binding that maps WebDriver commands into Chrome DevTools commands using Puppeteer
- webdriverio - Next-gen browser and mobile automation test framework for Node.js
- @wdio/cli - A WebdriverIO testrunner command line interface
Helper
- @wdio/config - A helper utility to parse and validate WebdriverIO options
- @wdio/logger - A helper utility for logging of WebdriverIO packages
- @wdio/protocols - Utility package providing information about automation protocols
- @wdio/repl - A WDIO helper utility to provide a repl interface for WebdriverIO
- @wdio/reporter - A WebdriverIO utility to help reporting all events
- @wdio/runner - A WebdriverIO service that runs tests in arbitrary environments
- @wdio/utils - A WDIO helper utility to provide several utility functions used across the project
Reporter
- @wdio/allure-reporter - A WebdriverIO reporter plugin to create Allure Test Reports
- @wdio/concise-reporter - A WebdriverIO reporter plugin to create concise test reports
- @wdio/dot-reporter - A WebdriverIO plugin to report in dot style
- @wdio/junit-reporter - A WebdriverIO reporter that creates test results in XML format
- @wdio/spec-reporter - A WebdriverIO plugin to report in spec style
- @wdio/sumologic-reporter - A WebdriverIO reporter that sends test results to Sumologic for data analyses
Services
- @wdio/appium-service - A WebdriverIO service to start & stop Appium Server
- @wdio/browserstack-service - A WebdriverIO service that provides a better integration into Browserstack
- @wdio/crossbrowsertesting-service - A WebdriverIO service that provides a better integration into CrossBrowserTesting
- @wdio/devtools-service - A WebdriverIO service that allows you to run Chrome DevTools commands in your tests
- @wdio/firefox-profile-service - A WebdriverIO service that lets you define your Firefox profile in your wdio.conf.js
- @wdio/sauce-service - A WebdriverIO service that provides a better integration into Sauce Labs
- @wdio/selenium-standalone-service - A WebdriverIO service that automatically sets up a selenium standalone server
- @wdio/shared-store-service - A WebdriverIO service to exchange data across processes
- @wdio/testingbot-service - A WebdriverIO service that provides a better integration into TestingBot
Runner
- @wdio/local-runner - A WebdriverIO runner to run tests locally
Framework Adapters
- @wdio/cucumber-framework - Adapter for Cucumber testing framework
- @wdio/jasmine-framework - Adapter for Jasmine testing framework
- @wdio/mocha-framework - Adapter for Mocha testing framework.
Others
- eslint-plugin-wdio - Eslint rules for WebdriverIO
- @wdio/smoke-test-reporter - A WebdriverIO utility to smoke test reporters for internal testing purposes
- @wdio/smoke-test-service - A WebdriverIO utility to smoke test services for internal testing purposes
- @wdio/webdriver-mock-service - A WebdriverIO service to stub all endpoints for internal testing purposes
:handshake: Project Governance
This project is maintained by awesome people following a common set of rules and treating each other with respect and appreciation.
:man_cook: :woman_cook: Backers
Become a backer and show your support to our open source project.
:money_with_wings: Sponsors
Does your company use WebdriverIO? Ask your manager or marketing team if your company would be interested in supporting our project. Support will allow the maintainers to dedicate more time for maintenance and new features for everyone. Also, your company's logo will show on GitHub - who doesn't want a little extra exposure? Here's the info.
:page_facing_up: License
:beginner: Badge
Show the world you're using webdriver.io â
[![tested with webdriver.io](https://img.shields.io/badge/tested%20with-webdriver.io-%23ea5906)](https://webdriver.io/)
<a href="https://webdriver.io/">
<img alt="WebdriverIO" src="https://img.shields.io/badge/tested%20with-webdriver.io-%23ea5906">
</a>
:clap: Supporters
*Note that all licence references and agreements mentioned in the WebdriverIO README section above
are relevant to that project's source code only.