Awesome Selenium

A curated list of delightful Selenium resources.
Inspired by the awesome list
thing.
Resources
Javascript
- selenium-webdriver
- The official WebDriver JavaScript bindings from the Selenium
project.
- WD - WebDriver/Selenium 2
node.js client.
- WebdriverIO - better
implementation of WebDriver bindings with predefined 50+ actions.
- Zombie.js - Insanely fast,
headless full-stack testing.
- SlimerJS - A scriptable browser
for Web developers.
- Nightwatch - efficient and
straightforward Javascript End-to-End tests.
- Karma -
Brings a productive testing environment to developers for unit testing
(mostly AngularJS).
- Protractor -
Protractor is an end-to-end test framework for AngularJS
applications.
- CodeceptJS - Modern Era Acceptance
Testing Framework for NodeJS.
Ruby
- Selenium
with Ruby - Selenium Ruby bindings
- Watir - Automated testing that
doesn’t hurt
- Anemone - Anemone
web-spider framework.
- Mechanize -
automating interaction with websites.
- Spidr - web
spidering library that can spider a site, multiple domains, certain
links or infinitely.
- cobweb - web crawler
that can use resque to cluster crawls to quickly crawl extremely large
sites.
- Capybara - an
integration testing tool for rack based web applications. It simulates
how a user would interact with a website.
PHP
Python
- Selenium with
Python - Selenium Python bindings
- Helium -
Helium makes Selenium easier and faster to use
- Selene -
Selenide-inspired concise and readable automated test framework,
supports Ajax well like Selenide.
- mechanize
- Stateful programmatic web browsing.
- Robot - Robot Framework is
a generic test automation framework for acceptance testing and
ATDD.
- behave-webdriver
behavior driven testing with Selenium and Python.
Java
- Selenium
with Java - Selenium Java bindings
- Conductor - Turbo-boosted
Selenium framework that makes test writing a breeze.
- darcy -
Page object framework for structured, maintainable automation.
- Selenide - A
framework for writing easy-to-read and easy-to-maintain automated tests
using a Fluent API. Selenide has a magic trick that resolves most
problems with Ajax and timeouts.
- Galen Framework - Automated
testing of look and feel for your responsive websites.
- Serenity - It is an open
source library for writing better quality automated acceptance tests
faster. (Formerly Thucydides).
- seleniumQuery
- jQuery-like cross-driver interface in Java for WebDriver. Designed as
a thin layer, it can be used alone or on top of your favorite framework
just to make some cases (e.g. asserting/waiting) simpler when
needed.
- WebDriverManager
- Automatic management of Selenium WebDriver binaries.
- Lightning -
Lightweight and lightning fast WebDriver client.
C
- Selenium
with C# - Selenium C# bindings
- Atata -
Automated web testing full featured framework based on Selenium
WebDriver.
- Strontium - A
.NET implementation (but outdated) for Selenium/WebDriver (Remote)
Server
Groovy
- Geb - It can be used for
scripting, scraping and general automation — or equally as a
functional/web/acceptance testing solution via integration with testing
frameworks such as Spock, JUnit & TestNG.
Dart
- dart.webdriver -
Provides WebDriver bindings for Dart. These use the WebDriver JSON
interface, and as such, require the use of the WebDriver remote
server.
CSS Regression Testing
Containers
Docker
- elgalu/docker-selenium
- Selenium in Docker with Chrome & Firefox plus video recording
support.
- Ggr - A lightweight
load balancer used to create big Selenium clusters.
- SeleniumHQ/docker-selenium
- Docker images for Selenium Standalone Server, Hub, and Node
configurations with Chrome and Firefox.
- Selenoid - A
lightweight Selenium hub implementation launching browsers in Docker
containers.
- zalando/zalenium -
Allows anyone to have a disposable and flexible Selenium Grid
infrastructure
- bravostudiodev/bravo-grid
- Docker image/setup for Selenium Grid Extras (see under Selenium Grid
section), for providing remote Sikuli test/automation execution and grid
node file upload/download support.
Kubernetes
- kubernetes/examples
- Example deployment of Selenium Hub and Nodes on a Kubernetes
cluster
- Moon - A commercial
closed-source enterprise Selenium implementation using Kubernetes to
launch browsers
- Callisto - An
open-source tool to launch browsers in Kubernetes. Separate is created
for each selenium session.
- WebGrid -
An open-source, decentralized, scalable and robust selenium-grid
equivalent.
Driver
Desktop (browsers)
- Firefox
- Firefox driver (for FF < v48) is included in the
selenium-server-standalone.jar available in the downloads.
- Geckodriver -
Firefox driver (for FF > v48), supported with Selenium >= v3
- Chrome
- ChromeDriver is a standalone server which implements WebDriver’s wire
protocol for Chromium.
- Internet
Explorer - The InternetExplorerDriver is a standalone server which
implements WebDriver’s wire protocol.
- Edgedriver
- Microsoft Webdriver server for Edge
- Safari
- The SafariDriver is implemented as a Safari browser extension. The
driver inverts the traditional client/server relationship and
communicates with the WebDriver client using WebSockets (only supported
for Safari <= v9, all new Safari version comming with macOS Sierra
come with an integrated SafariDriver that is closed source by
Apple).
- Opera
- OperaDriver is a vendor-supported WebDriver implementation developed
by Opera Software and volunteers that implements WebDriver API for
Opera.
Mobile (browsers and apps)
- Appium - Appium is an open source
test automation framework for use with native and hybrid mobile apps. It
drives iOS, Android Apps using the WebDriver protocol.
- Selendroid -
Selendroid is based on the Android instrumentation framework.
- ios-driver -
Test any IOS native, hybrid, or mobile web application using Selenium /
WebDriver.
- WebDriverAgent
- a WebDriver server for iOS to remote control devices via WebDriver
API.
Desktop GUI
Automation (non-browser-centric)
- WinAppDriver
- Microsoft’s WebDriver implementation for Windows application
automation.
- Winium - Automation
framework for Windows platforms. It is free. It is opensource. It is
Selenium-based. Supports: Windows Desktop (WPF, WinForms); Windows Store
or Universal Apps for Windows Phone; Windows Phone Silverlight
Apps.
- QtWebDriver
- For using WebDriver to automate Qt-based GUI applications.
- AutoItDriverServer
- Selenium server to control/drive AutoIt via (Remote)WebDriver
API.
- AutoPyDriverServer
- Selenium server to control/drive AutoPy via (Remote)WebDriver
API.
- Appium
for Mac - Appium/WebDriver implementation for automating Mac OS X
desktop.
- SilkAppDriver -
Selenium server to control/drive the commercial SilkTest platform via
(Remote)WebDriver API.
- SWET - A successor to
SWD Page Recorder, for the same functionality.
- Looking
Glass - Java application that offers a cross-browser element
inspector and Selenium code generator.
- Silk
WebDriver - A Selenium IDE alternative for record, playback, and
script export, from the creators of SilkTest.
- Fire
IE Selenium - Microsoft Excel-based tool providing element
inspection for Internet Explorer browser.
Selenium Grid
- Selenium
Grid Extras - A framework that provides additional features beyond
the basic Selenium Grid like video recording.
- SeLion - A (Java)
framework for running Selenium tests with additional features beyond the
basic Selenium Grid functionality, particularly like stability
improvements, etc.
- Selenium
Grid Extensions - A set of extensions for Selenium Grid that provide
additional features like running Sikuli tests/automation remotely,
upload/download files on a grid node.
Cloud Services
- Sauce Labs - Cross browser
testing made awesome. Selenium testing, mobile testing, JS unit testing
on 300+ OS/browser platforms. Get started for free.
- HeadSpin - Test your website
for cross browser compatibility on thousands of real device running real
browsers. Get instant access to multiple desktop and mobile browsers on
the cloud. Get Free Trial.
- Browserstack - Test your
website for cross browser compatibility on real browsers. Instant access
to multiple desktop and mobile browsers. Get Free Trial.
- TestGrid - End to End testing
of mobile apps & websites on 1000+ real browsers & OS. Request
Free Trial.
- LambdaTest -
Test your website for cross browser compatibility on 2000+ real browsers
& OS. Get Free Trial.
- TestingBot - TestingBot
provides easy cross browser testing with Selenium in the cloud.
- Moon Cloud - Your
dedicated Selenium cluster in public cloud platform with per-minute
billing and unlimited number of browsers.
- Mail7 - Disposable email service
to automate the email workflow testing, This
document explains how to implement Mail7 with Selenium
- Thundra Foresight - A
visibility tool into your test suites by spotting test failures in no
time.
- Hyperbrowser - Browser
infrastructure and automation for running and scaling Selenium
automations with headless Chrome with advanced features like proxies,
captcha solving, and session recording.
Device Farms
- OpenSTF - A
framework for running your own device farm, geared toward Android, but
also iOS.
Web Scraping / Mining
- Scrapy - Python,
mainly a scraper/miner - fast, well documented and, can be linked with
Django
Dynamic Scraper for nice mining deployments, or Scrapy Cloud for
PaaS (server-less) deployment, works in terminal or an server
stand-alone process, can be used with Celery, built on
top of Twisted.
- Node-Crawler
- Node.js Web Crawler/Spider for NodeJS + server-side
jQuery.
Specifications
- The
WebDriver Wire Protocol - All implementations of WebDriver that
communicate with the browser, or a RemoteWebDriver server shall use a
common wire protocol.
- WebDriver - This
specification defines the WebDriver API, a platform and language-neutral
interface and associated wire protocol that allows programs or scripts
to introspect into, and control the behavior of, a web browser.
Blogs
License

To the extent possible under law, Christian Bromann has
waived all copyright and related or neighboring rights to this work.
selenium.md
Github