Logo

0x3d.Site

is designed for aggregating information.
Welcome
check repository here

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.
  • Hyperbrowser - Browser infrastructure and automation for running and scaling Selenium automations with headless Chrome with advanced features like proxies, captcha solving, and session recording.

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.

Java
Java
Java is a versatile programming language used for building cross-platform applications. Known for its write-once-run-anywhere philosophy, Java is commonly used in enterprise applications, Android development, and backend systems.
Quasar
Quasar
GitHub - bulldog2011/bigqueue: A big, fast and persistent queue based on memory mapped file.
GitHub - bulldog2011/bigqueue: A big, fast and persistent queue based on memory mapped file.
Gradle Build Tool
Gradle Build Tool
GitHub - LiveRamp/HyperMinHash-java: Union, intersection, and set cardinality in loglog space
GitHub - LiveRamp/HyperMinHash-java: Union, intersection, and set cardinality in loglog space
GitHub - vanillasource/jaywire: JayWire Dependency Injection
GitHub - vanillasource/jaywire: JayWire Dependency Injection
GitHub - cglib/cglib: cglib - Byte Code Generation Library is high level API to generate and transform Java byte code. It is used by AOP, testing, data access frameworks to generate dynamic proxy objects and intercept field access.
GitHub - cglib/cglib: cglib - Byte Code Generation Library is high level API to generate and transform Java byte code. It is used by AOP, testing, data access frameworks to generate dynamic proxy objects and intercept field access.
GitHub - jboss-javassist/javassist: Java bytecode engineering toolkit
GitHub - jboss-javassist/javassist: Java bytecode engineering toolkit
GitHub - javaparser/javasymbolsolver: *old repository* --> this is now integrated in https://github.com/javaparser/javaparser
GitHub - javaparser/javasymbolsolver: *old repository* --> this is now integrated in https://github.com/javaparser/javaparser
GitHub - OpenHFT/Chronicle-Map: Replicate your Key Value Store across your network, with consistency, persistance and performance.
GitHub - OpenHFT/Chronicle-Map: Replicate your Key Value Store across your network, with consistency, persistance and performance.
GitHub - sviperll/adt4j: adt4j - Algebraic Data Types for Java
GitHub - sviperll/adt4j: adt4j - Algebraic Data Types for Java
GitHub - MenoData/Time4J: Advanced date, time and interval library for Java with sun/moon-astronomy and calendars like Chinese, Coptic, Ethiopian, French Republican, Hebrew, Hijri, Historic Christian, Indian National, Japanese, Julian, Korean, Minguo, Persian, Thai, Vietnamese
GitHub - MenoData/Time4J: Advanced date, time and interval library for Java with sun/moon-astronomy and calendars like Chinese, Coptic, Ethiopian, French Republican, Hebrew, Hijri, Historic Christian, Indian National, Japanese, Julian, Korean, Minguo, Persian, Thai, Vietnamese
GitHub - mhewedy/spring-data-jpa-mongodb-expressions: Use the MongoDB query language to query your relational database, typically from frontend.
GitHub - mhewedy/spring-data-jpa-mongodb-expressions: Use the MongoDB query language to query your relational database, typically from frontend.
GitHub - checkstyle/checkstyle: Checkstyle is a development tool to help programmers write Java code that adheres to a coding standard. By default it supports the Google Java Style Guide and Sun Code Conventions, but is highly configurable. It can be invoked with an ANT task and a command line program.
GitHub - checkstyle/checkstyle: Checkstyle is a development tool to help programmers write Java code that adheres to a coding standard. By default it supports the Google Java Style Guide and Sun Code Conventions, but is highly configurable. It can be invoked with an ANT task and a command line program.
GitHub - requery/requery: requery - modern SQL based query & persistence for Java / Kotlin / Android
GitHub - requery/requery: requery - modern SQL based query & persistence for Java / Kotlin / Android
GitHub - artipie/artipie: Binary Artifact Management Tool
GitHub - artipie/artipie: Binary Artifact Management Tool
GitHub - jline/jline3: JLine is a Java library for handling console input.
GitHub - jline/jline3: JLine is a Java library for handling console input.
GitHub - javapathfinder/jpf-core: JPF is an extensible software analysis framework for Java bytecode. jpf-core is the basis for all JPF projects; you always need to install it. It contains the basic VM and model checking infrastructure, and can be used to check for concurrency defects like deadlocks, and unhandled exceptions like NullPointerExceptions and AssertionErrors.
GitHub - javapathfinder/jpf-core: JPF is an extensible software analysis framework for Java bytecode. jpf-core is the basis for all JPF projects; you always need to install it. It contains the basic VM and model checking infrastructure, and can be used to check for concurrency defects like deadlocks, and unhandled exceptions like NullPointerExceptions and AssertionErrors.
GitHub - manifold-systems/manifold: Manifold is a Java compiler plugin, its features include Metaprogramming, Properties, Extension Methods, Operator Overloading, Templates, a Preprocessor, and more.
GitHub - manifold-systems/manifold: Manifold is a Java compiler plugin, its features include Metaprogramming, Properties, Extension Methods, Operator Overloading, Templates, a Preprocessor, and more.
GitHub - google/auto: A collection of source code generators for Java.
GitHub - google/auto: A collection of source code generators for Java.
GitHub - Randgalt/record-builder: Record builder generator for Java records
GitHub - Randgalt/record-builder: Record builder generator for Java records
GitHub - realm/realm-java: Realm is a mobile database: a replacement for SQLite & ORMs
GitHub - realm/realm-java: Realm is a mobile database: a replacement for SQLite & ORMs
GitHub - resilience4j/resilience4j: Resilience4j is a fault tolerance library designed for Java8 and functional programming
GitHub - resilience4j/resilience4j: Resilience4j is a fault tolerance library designed for Java8 and functional programming
GitHub - Netflix/governator: Governator is a library of extensions and utilities that enhance Google Guice to provide: classpath scanning and automatic binding, lifecycle management, configuration to field mapping, field validation and parallelized object warmup.
GitHub - Netflix/governator: Governator is a library of extensions and utilities that enhance Google Guice to provide: classpath scanning and automatic binding, lifecycle management, configuration to field mapping, field validation and parallelized object warmup.
GitHub - mapstruct/mapstruct: An annotation processor for generating type-safe bean mappers
GitHub - mapstruct/mapstruct: An annotation processor for generating type-safe bean mappers
GitHub - protocolbuffers/protobuf: Protocol Buffers - Google's data interchange format
GitHub - protocolbuffers/protobuf: Protocol Buffers - Google's data interchange format
GitHub - stripe/stripe-java: Java library for the Stripe API.
GitHub - stripe/stripe-java: Java library for the Stripe API.
GitHub - rainerhahnekamp/sneakythrow: SneakyThrow is a Java library to ignore checked exceptions
GitHub - rainerhahnekamp/sneakythrow: SneakyThrow is a Java library to ignore checked exceptions
GitHub - paritytrading/parity
GitHub - paritytrading/parity
GitHub - svendiedrichsen/jollyday: Jollyday - A holiday API
GitHub - svendiedrichsen/jollyday: Jollyday - A holiday API
GitHub - justinsb/jetcd: Java binding for etcd
GitHub - justinsb/jetcd: Java binding for etcd
Java
More on Java

Programming Tips & Tricks

Code smarter, not harder—insider tips and tricks for developers.

Error Solutions

Turn frustration into progress—fix errors faster than ever.

Shortcuts

The art of speed—shortcuts to supercharge your workflow.
  1. Collections 😎
  2. Frequently Asked Question's 🤯

Tools

available to use.

Made with ❤️

to provide resources in various ares.