Skip to content
A curated list of delightful Selenium resources.
Branch: master
Clone or download

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.travis.yml white listed webdriver.io and sindresorhus/awesome Dec 18, 2015
CONTRIBUTING.md use uppercase letters as file name Dec 18, 2015
LICENSE added license file Dec 18, 2015
README.md Added Mail7 under "Cloud Services" category May 19, 2020

README.md

Awesome Selenium Awesome Build Status

A curated list of delightful Selenium resources.

Inspired by the awesome list thing.

Resources

Tools

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.
  • Cypress - Cypress helps developers write automated tests for the web.
  • CodeceptJS - Modern Era Aceptance 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
  • 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.

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.

Desktop Tools

  • 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.
  • 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.
  • 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 proces, 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 behaviour of, a web browser.

Blogs

License

CC0

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

You can’t perform that action at this time.