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.
-
CasperJS - open source navigation
scripting & testing utility.
-
Zombie.js - Insanely fast, headless
full-stack testing.
-
DalekJS - Automated cross browser
testing.
-
SlimerJS - A scriptable browser for
Web developers.
-
Nightwatch - efficient and
straightforward Javascript End-to-End tests.
-
yiewd - WD.js wrapper
using latest Harmony generators! Get rid of the callback pyramid with
yield.
-
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.
-
Nightmare.js - A high-level
browser automation library.
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.
-
Pomade - SauceLabs
integrated test runner for Selenium test.
-
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.
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.
-
SWD Page Recorder
- Windows Desktop application that makes it easy to create, test and
debug new Selenium Webdriver PageObject classes. It works with C#, Java,
Python and Ruby out of the box and you may add own code generation
templates.
-
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.
-
Ranorex Selocity
- A Firebug/FirePath/Firefinder and Selenium IDE alternative for browser
element inspection from the creators of Ranorex.
-
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.
-
Browserstack - Test your
website for cross browser compatibility on real browsers. Instant access
to multiple desktop and mobile browsers. Get 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.
-
Aerokube Browsers -
Lightning fast online Selenium testing platform with unlimited billing
plans and reasonable pricing.
-
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
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.