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.