0x3d.Site
is designed for aggregating information.
check repository here
Awesome Selenium
Inspired by the awesome list thing.
Resources
- Tools
- CSS Regression Testing
- Containers
- Driver
- Desktop Tools
- Selenium Grid
- Cloud Services
- Device Farms
- Web Scraping / Mining
- Specifications
- Blogs
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
- 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.
- 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
- WebdriverCSS - Regression testing tool for WebdriverIO (currently deprecated, please use wdio-screenshot for the time being).
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
- Official Selenium Blog - The official blog by SeleniumHQ.
- Elemental Selenium - A free, once-weekly e-mail on how to use Selenium like a Pro.
- SauceLabs Blog - Blog curated by SauceLabs.
License
To the extent possible under law, Christian Bromann has waived all copyright and related or neighboring rights to this work.
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
GitHub - bulldog2011/bigqueue: A big, fast and persistent queue based on memory mapped file.
Gradle Build Tool
GitHub - LiveRamp/HyperMinHash-java: Union, intersection, and set cardinality in loglog space
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 - jboss-javassist/javassist: Java bytecode engineering toolkit
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 - 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 - 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 - requery/requery: requery - modern SQL based query & persistence for Java / Kotlin / Android
GitHub - artipie/artipie: Binary Artifact Management Tool
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 - 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 - Randgalt/record-builder: Record builder generator for Java records
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 - 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 - protocolbuffers/protobuf: Protocol Buffers - Google's data interchange format
GitHub - stripe/stripe-java: Java library for the Stripe API.
GitHub - rainerhahnekamp/sneakythrow: SneakyThrow is a Java library to ignore checked exceptions
GitHub - paritytrading/parity
GitHub - svendiedrichsen/jollyday: Jollyday - A holiday API
GitHub - justinsb/jetcd: Java binding for etcd
More on Java
Programming Tips & Tricks
Code smarter, not harder—insider tips and tricks for developers.
Using Lua's Garbage Collector for Fine-Tuned Memory Management in Large Applications
#1
Leveraging Lua's Environment for Dynamic Code Execution and Security
#2
Mastering Lua's Table Manipulation: Advanced Techniques for Handling Large Data Sets
#3
Enhancing Code Readability and Debugging with Lua's Debug Library
#4
Leveraging Lua's Coroutines for Efficient Concurrency and Asynchronous Programming
#5
Leveraging Lua's Tail Call Optimization for Efficient Recursion and Avoiding Stack Overflow in Deep Recursive Functions
#6
Creating Custom Iterators in Lua for Traversing Complex Data Structures Like Graphs or Trees
#7
How to Maximize the Speed of Data Lookup in Lua Using Hash Tables and Optimized Table Management
#8
Advanced Techniques for Asynchronous Programming in Lua Using Coroutines for High-Performance Systems
#9
Mastering Efficient Memory Management in Lua with Weak Tables for Optimal Resource Utilization
#10
Error Solutions
Turn frustration into progress—fix errors faster than ever.
Visual Studio Crashes When Opening a File or Debugging a Project
#1
Visual Studio Cannot Connect to GitHub or Other Version Control System
#2
Visual Studio Freezes During Build or Debug Process
#3
Visual Studio Fails to Build Project with "Unable to Start Program" Error
#4
Visual Studio Shows "Cannot Open the Solution" Error Message When Opening a Project
#5
Visual Studio Crashes on Startup with "The application has encountered an error" Message
#6
Visual Studio Fails to Detect Changes in Files When Using Git Integration
#7
Visual Studio Crashes with "Unknown Exception" When Trying to Build Solution
#8
Visual Studio Hangs During Debugging with "Unable to Start Program" Error
#9
Visual Studio Fails to Load Solution with "The system cannot find the file specified" Error
#10
Shortcuts
The art of speed—shortcuts to supercharge your workflow.
Maximize Your Code Navigation with Cmd + Option + Left Arrow!
#1
Feel Like a Pro with Cmd + Control + D: Quickly View Definitions Like Never Before!
#2
Unlock Speed and Precision with Cmd + Shift + M: Maximize Your Productivity!
#3
Don’t Panic, Use Cmd + Option + I to Open the Developer Tools Now!
#4
Stop Wasting Time and Jump to Your File in an Instant with Cmd + Shift + O!
#5
Quickly Fix Your Code with ‘Cmd + Option + L’ for Instant Code Formatting!
#6
Transform Your Workflow with ‘Cmd + Shift + N’ to Open a New Window in No Time!
#7
Say Goodbye to Mouse: Master ‘Cmd + Shift + F’ to Search Your Entire Codebase!
#8
Struggling to Find Files? Hit ‘Cmd + P’ and Jump Right to Your File!
#9
Never Lose Your Progress Again: Use ‘Cmd + Z’ to Undo Mistakes Instantly!
#10
Made with ❤️
to provide resources in various ares.