# Selenium Alternatives for Web Test Automation

Selenium WebDriver has been around for a long time. Let's explore some alternatives to Selenium for web test automation.

Published April 1, 2024 by Liviu Lupei on the Endtest blog. Canonical URL: https://endtest.io/blog/top-5-alternatives-to-selenium

---
Selenium WebDriver has been around for a number of years.

Like it or not, it has been the default option for web test automation.

Let's see what the alternatives are.

## 1. Endtest

[Endtest](https://endtest.io/) is a cloud platform where you can create, manage, and execute automated tests.

It's using webdrivers to send commands to the browsers, and it's significantly faster than Selenium.

A major advantage is that it provides all the additional components required for managing test automation, such as a cross-browser cloud grid and features for [collaboration](https://endtest.io/docs/advanced/adding-collaborators) and [orchestration](https://endtest.io/docs/advanced/how-to-use-the-endtest-api).

**Features:**
- ✅ Works with Chrome
- ✅ Works with Firefox
- ✅ Works with Safari
- ✅ Works with Edge
- ✅ Works with Internet Explorer 11
- ✅ Works with mobile browsers
- ✅ Supports testing in iframes
- ✅ Supports testing in multiple browser tabs
- ✅ Multiple domains can be tested in same test
- ✅ Supports testing in Shadow DOM
- ✅ Advanced actions such as Drag and Drop
- ✅ Functionality to test API requests

That's why Endtest is a great option for [automated e2e testing](https://codoid.com/automation-testing/what-makes-endtest-io-a-great-option-for-automated-e2e-testing/).

## 2. Playwright

[Playwright](https://github.com/microsoft/playwright/) is a Node.js library developed by Microsoft.

It can be used to automate Chromium-based browsers and Firefox.

Currently, there is no clear advantage in using Playwright over Selenium.

**Features:**
- ✅ Works with Chrome
- ✅ Works with Firefox
- ⬜ Works with Safari
- ✅ Works with Edge
- ⬜ Works with Internet Explorer 11
- ⬜ Works with mobile browsers
- ✅ Supports testing in iframes
- ✅ Supports testing in multiple browser tabs
- ✅ Multiple domains can be tested in same test
- ✅ Supports testing in Shadow DOM
- ✅ Advanced actions such as Drag and Drop
- ✅ Functionality to test API requests

## 3. Puppeteer

[Puppeteer](https://github.com/puppeteer/puppeteer/) is a Node.js library developed by Google.

It can be used to automate Chromium-based browsers and it also offers beta support for Firefox.

Incredibly similar to Playwright, even when comparing the speed of execution.

**Features:**
- ✅ Works with Chrome
- ✅ Works with Firefox
- ⬜ Works with Safari
- ✅ Works with Edge
- ⬜ Works with Internet Explorer 11
- ⬜ Works with mobile browsers
- ✅ Supports testing in iframes
- ✅ Supports testing in multiple browser tabs
- ✅ Multiple domains can be tested in same test
- ✅ Supports testing in Shadow DOM
- ✅ Advanced actions such as Drag and Drop
- ✅ Functionality to test API requests

## 4. Cypress

[Cypress](https://github.com/cypress-io/cypress/) is a wrapper around Mocha that allows you to interact with elements on a web page.

Due to the severe limitations of their technology, it has limited cross-browser support and limited functionalities.

For example, it cannot be used to test in multiple browser tabs.

And the support for iframes seems to be extremely flaky.

**Features:**
- ✅ Works with Chrome
- ✅ Works with Firefox
- ⬜ Works with Safari
- ✅ Works with Edge
- ⬜ Works with Internet Explorer 11
- ⬜ Works with mobile browsers
- ⬜ Supports testing in iframes
- ⬜ Supports testing in multiple browser tabs
- ⬜ Multiple domains can be tested in same test
- ⬜ Supports testing in Shadow DOM
- ✅ Advanced actions such as Drag and Drop
- ⬜ Functionality to test API requests

## 5. Watir

[Watir](http://watir.com/) is an open-source Ruby library.

It can be described as a BDD wrapper around Selenium.

The main advantage is the API is a bit easier to use, adding a layer of simplicity over the heavy Selenium API.

The main disadvantage of using Watir is that it's less popular than Selenium and that makes finding answers for your questions a bit more difficult.

**Features:**
- ✅ Works with Chrome
- ✅ Works with Firefox
- ✅ Works with Safari
- ✅ Works with Edge
- ⬜ Works with Internet Explorer 11
- ⬜ Works with mobile browsers
- ✅ Supports testing in iframes
- ✅ Supports testing in multiple browser tabs
- ✅ Multiple domains can be tested in same test
- ⬜ Supports testing in Shadow DOM
- ⬜ Advanced actions such as Drag and Drop
- ⬜ Functionality to test API requests
