Courses & TutorialsProgrammingSoftware

Awesome Selenium – Massive Collection of Resources

A curated list of delightful Selenium resources.

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.
  • 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

  • Facebook WebDriver – A PHP client for webdriver.
  • Selenium Setup – A tool for PHP developers to start their own Selenium server.
  • Steward – A test runner integrating php-webdriver with PHPUnit.

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.

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.
  • 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

  • ScrapyPython, 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-CrawlerNode.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

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button