Git Product home page Git Product logo

awesome-selenium's Introduction

Awesome Selenium Awesome Test Awesome List

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

Desktop Tools

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

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

CC0

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

awesome-selenium's People

Contributors

acdcjunior avatar alincode avatar armantunga avatar christian-bromann avatar daluu avatar ddavison avatar diemol avatar dm3ch avatar dmitrytokarev avatar dzharii avatar elgalu avatar engsimoes avatar erolstt avatar gopalgehlot avatar hatai avatar jahmed2345 avatar makyol avatar manoj9788 avatar mrts avatar ondram avatar qqgg231 avatar reegnz avatar serbanghita avatar spekulatius avatar spnraju avatar spyoungtech avatar tilblechschmidt avatar tungla avatar vania-pooh avatar yevgeniyshunevych avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

awesome-selenium's Issues

Can you add selenium-until-extra to the list?

(Disclaimer: I'm the author and the maintainer of this lib)

I wrote a library, called selenium-until-extra (https://github.com/serge1peshcoff/selenium-until-extra) that extends selenium-webdriver's until functionality and adds some new methods to it (you can check README for more detailed description). I hope it'll be useful to somebody.

It's documented (I wrote instruction on using it and the methods description on README) and tested (there's a Travis CI set up).

Can you add it to your list?

(I can make a PR on that, if you're more comfortable with that)

Validate pull requests with Travis

Hello, I wrote a tool that can validate README links (valid URLs, not duplicate). It can be run when someone submits a pull request.

It is currently being used by

Examples

If you are interested, connect this repo to https://travis-ci.org/ and add a .travis.yml file to the project.

See https://github.com/dkhamsing/awesome_bot for options, more information
Feel free to leave a comment 😄

Adding Selene to the list?

Selene is like Selenide - it makes AJAX/SPA testing much simpler with no need for wait... and has a concise, fluent API.

What do you think, could this be added to the list?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.