Files
awesome-awesomeness/terminal/selenium9
2024-04-20 19:22:54 +02:00

36 KiB

Awesome Selenium !Awesome (https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg) (https://github.com/sindresorhus/awesome) !Test Awesome List
(https://github.com/christian-bromann/awesome-selenium/actions/workflows/test.yaml/badge.svg) (https://github.com/christian-bromann/awesome-selenium/actions/workflows/test.yaml)
 
A curated list of delightful Selenium (http://www.seleniumhq.org/) resources (#resources).
 
Inspired by the awesome (https://github.com/sindresorhus/awesome) list thing.
 
Resources
 
- Tools (#tools)
- CSS Regression Testing (#css-regression-testing)
- Containers (#containers)
- Driver (#driver)
- Desktop Tools (#desktop-tools)
- Selenium Grid (#selenium-grid)
- Cloud Services (#cloud-services)
- Device Farms (#device-farms)
- Web Scraping / Mining (#web-scraping--mining)
- Specifications (#specifications)
- Blogs (#blogs)
 
Tools
 
Javascript
 
- selenium-webdriver (https://github.com/SeleniumHQ/selenium/wiki/WebDriverJs) - The official WebDriver JavaScript bindings from the Selenium project.
- WD (https://github.com/admc/wd) - WebDriver/Selenium 2 node.js client.
- WebdriverIO (http://webdriver.io) - better implementation of WebDriver bindings with predefined 50+ actions.
- Zombie.js (http://zombie.js.org/) - Insanely fast, headless full-stack testing.
- SlimerJS (http://slimerjs.org/) - A scriptable browser for Web developers.
- Nightwatch (http://nightwatchjs.org/) - efficient and straightforward Javascript End-to-End tests.
- Karma (http://karma-runner.github.io/0.12/index.html) - Brings a productive testing environment to developers for unit testing (mostly AngularJS).
- Protractor (https://angular.github.io/protractor/) - Protractor is an end-to-end test framework for AngularJS applications.
- CodeceptJS (http://codecept.io/) - Modern Era Acceptance Testing Framework for NodeJS.
 
Ruby
 
- Selenium with Ruby (http://seleniumhq.github.io/selenium/docs/api/rb/index.html) - Selenium Ruby bindings
- Watir (http://watir.github.io) - Automated testing that doesn’t hurt
- Anemone (https://github.com/chriskite/anemone) - Anemone web-spider framework.
- Mechanize (http://docs.seattlerb.org/mechanize/) - automating interaction with websites.
- Spidr (https://github.com/postmodern/spidr) - web spidering library that can spider a site, multiple domains, certain links or infinitely.
- cobweb (https://rubygems.org/gems/cobweb) - web crawler that can use resque to cluster crawls to quickly crawl extremely large sites.
- Capybara (https://rubygems.org/gems/capybara) - an integration testing tool for rack based web applications. It simulates how a user would interact with a website.
 
PHP
- Facebook WebDriver (https://github.com/facebook/php-webdriver) - A PHP client for webdriver.
- Selenium Setup (https://github.com/bogdananton/Selenium-Setup) - A tool for PHP developers to start their own Selenium server.
- Steward (https://github.com/lmc-eu/steward) - A test runner integrating php-webdriver with PHPUnit.
 
Python
 
- Selenium with Python (http://selenium-python.readthedocs.io/) - Selenium Python bindings
- Helium (https://github.com/mherrmann/selenium-python-helium) - Helium makes Selenium easier and faster to use
- Selene (https://github.com/yashaka/selene) - Selenide-inspired concise and readable automated test framework, supports Ajax well like Selenide.
- mechanize (http://wwwsearch.sourceforge.net/mechanize/) - Stateful programmatic web browsing.
- Robot (http://robotframework.org/) - Robot Framework is a generic test automation framework for acceptance testing and ATDD.
- behave-webdriver (https://github.com/spyoungtech/behave-webdriver) behavior driven testing with Selenium and Python.
 
Java
 
- Selenium with Java (http://seleniumhq.github.io/selenium/docs/api/java/index.html) - Selenium Java bindings
- Conductor (http://conductor.ddavison.io) - Turbo-boosted Selenium framework that makes test writing a breeze.
- darcy (https://github.com/darcy-framework/darcy-webdriver) - Page object framework for structured, maintainable automation.
- Selenide (https://github.com/codeborne/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 (http://galenframework.com/) - Automated testing of look and feel for your responsive websites.
- Serenity (http://www.thucydides.info/) - It is an open source library for writing better quality automated acceptance tests faster. (Formerly Thucydides).
- seleniumQuery (https://github.com/seleniumQuery/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 (https://github.com/bonigarcia/webdrivermanager) - Automatic management of Selenium WebDriver binaries.
- Lightning (https://github.com/aerokube/lightning-java) - Lightweight and lightning fast WebDriver client.
 
C#
 
- Selenium with C# (http://seleniumhq.github.io/selenium/docs/api/dotnet/index.html) - Selenium C# bindings
- Atata (https://github.com/atata-framework/atata) - Automated web testing full featured framework based on Selenium WebDriver.
- Strontium (https://github.com/jimevans/strontium) - A .NET implementation (but outdated) for Selenium/WebDriver (Remote) Server
 
Groovy
 
- Geb (http://www.gebish.org/) - 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 (https://github.com/google/webdriver.dart) - 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 (https://github.com/webdriverio/webdrivercss) - Regression testing tool for WebdriverIO (http://webdriver.io) (currently deprecated, please use wdio-screenshot
(https://www.npmjs.com/package/wdio-screenshot) for the time being).
 
Containers
 
Docker
 
- elgalu/docker-selenium (https://github.com/elgalu/docker-selenium) - Selenium in Docker with Chrome & Firefox plus video recording support.
- Ggr (https://github.com/aerokube/ggr) - A lightweight load balancer used to create big Selenium clusters.
- SeleniumHQ/docker-selenium (https://github.com/SeleniumHQ/docker-selenium) - Docker images for Selenium Standalone Server, Hub, and Node configurations with Chrome and Firefox.
- Selenoid (https://github.com/aerokube/selenoid) - A lightweight Selenium hub implementation launching browsers in Docker containers.
- zalando/zalenium (https://github.com/zalando/zalenium) - Allows anyone to have a disposable and flexible Selenium Grid infrastructure
- bravostudiodev/bravo-grid (https://github.com/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 (https://github.com/kubernetes/examples/tree/master/staging/selenium) - Example deployment of Selenium Hub and Nodes on a Kubernetes cluster
- Moon (https://github.com/aerokube/moon) - A commercial closed-source enterprise Selenium implementation using Kubernetes to launch browsers
- Callisto (https://github.com/wrike/callisto) - An open-source tool to launch browsers in Kubernetes. Separate is created for each selenium session.
- WebGrid (https://github.com/TilBlechschmidt/WebGrid) - An open-source, decentralized, scalable and robust selenium-grid equivalent.
 
Driver
 
Desktop (browsers)
 
- Firefox (https://github.com/SeleniumHQ/selenium/wiki/FirefoxDriver) - Firefox driver (for FF < v48) is included in the selenium-server-standalone.jar available in the downloads.
- Geckodriver (https://github.com/mozilla/geckodriver) - Firefox driver (for FF > v48), supported with Selenium >= v3
- Chrome (https://sites.google.com/a/chromium.org/chromedriver/home) - ChromeDriver is a standalone server which implements WebDriver's wire protocol for Chromium.
- Internet Explorer (https://github.com/SeleniumHQ/selenium/wiki/InternetExplorerDriver) - The InternetExplorerDriver is a standalone server which implements WebDriver's wire protocol.
- Edgedriver (https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/) - Microsoft Webdriver server for Edge
- Safari (https://github.com/SeleniumHQ/selenium/wiki/SafariDriver) - 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 (https://github.com/operasoftware/operachromiumdriver/blob/master/README.md) - OperaDriver is a vendor-supported WebDriver implementation developed by Opera Software and volunteers
that implements WebDriver API for Opera.
 
Mobile (browsers and apps)
 
- Appium (http://appium.io/) - 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 (http://selendroid.io/mobileWeb.html) - Selendroid is based on the Android instrumentation framework.
- ios-driver (http://ios-driver.github.io/ios-driver/) - Test any IOS native, hybrid, or mobile web application using Selenium / WebDriver.
- WebDriverAgent (https://github.com/manishPatwari/WebDriverAgent) - a WebDriver server for iOS to remote control devices via WebDriver API.
 
Desktop GUI Automation (non-browser-centric)
 
- WinAppDriver (https://github.com/Microsoft/WinAppDriver) - Microsoft's WebDriver implementation for Windows application automation.
- Winium (https://github.com/2gis/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 (https://github.com/cisco-open-source/qtwebdriver) - For using WebDriver to automate Qt-based GUI applications.
- AutoItDriverServer (https://github.com/daluu/AutoItDriverServer) - Selenium server to control/drive AutoIt via (Remote)WebDriver API.
- AutoPyDriverServer (https://github.com/daluu/AutoPyDriverServer) - Selenium server to control/drive AutoPy via (Remote)WebDriver API.
- Appium for Mac (https://appium.io/docs/en/drivers/mac/ (https://github.com/appium/appium-mac2-driver)) - Appium/WebDriver implementation for automating Mac OS X desktop.
- SilkAppDriver (https://github.com/MicroFocus/SilkAppDriver) - Selenium server to control/drive the commercial SilkTest platform via (Remote)WebDriver API.
 
Desktop Tools
 
- SWET (https://github.com/sergueik/SWET) - A successor to SWD Page Recorder, for the same functionality.
- Looking Glass (https://github.com/dmolchanenko/LookingGlass) - Java application that offers a cross-browser element inspector and Selenium code generator.
- Silk WebDriver (https://www.microfocus.com/products/silk-portfolio/silk-webdriver/) - A Selenium IDE alternative for record, playback, and script export, from the creators of SilkTest.
- Fire IE Selenium (https://code.google.com/archive/p/fire-ie-selenium/) - Microsoft Excel-based tool providing element inspection for Internet Explorer browser.
 
Selenium Grid
 
- Selenium Grid Extras (https://github.com/groupon/Selenium-Grid-Extras) - A framework that provides additional features beyond the basic Selenium Grid like video recording.
- SeLion (https://github.com/paypal/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 (https://github.com/sterodium/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 (https://saucelabs.com) - Cross browser testing made awesome. Selenium testing, mobile testing, JS unit testing on 300+ OS/browser platforms. Get started for free.
- HeadSpin (https://www.headspin.io/) - 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 (https://www.browserstack.com/) - Test your website for cross browser compatibility on real browsers. Instant access to multiple desktop and mobile browsers. Get Free Trial.
- TestGrid (https://www.testgrid.io/) - End to End testing of mobile apps & websites on 1000+ real browsers & OS. Request Free Trial.
- LambdaTest (https://www.lambdatest.com/selenium-automation) - Test your website for cross browser compatibility on 2000+ real browsers & OS. Get Free Trial.
- TestingBot (https://testingbot.com) - TestingBot provides easy cross browser testing with Selenium in the cloud.
- Moon Cloud (https://aerokube.com/moon-cloud/) - Your dedicated Selenium cluster in public cloud platform with per-minute billing and unlimited number of browsers.
- Mail7 (https://www.mail7.io/) - Disposable email service to automate the email workflow testing, This document
(https://docs.mail7.io/tutorials/registration-and-login-automation-using-selenium-with-disposable-email) explains how to implement Mail7 with Selenium
- Thundra Foresight (https://www.thundra.io/foresight) - A visibility tool into your test suites by spotting test failures in no time.
 
Device Farms
 
- OpenSTF (https://github.com/DeviceFarmer/stf) - A framework for running your own device farm, geared toward Android, but also iOS.
 
Web Scraping / Mining
 
- Scrapy (http://scrapy.org) - Python, mainly a scraper/miner - fast, well documented and, can be linked with Django Dynamic Scraper (http://django-dynamic-scraper.readthedocs.org/en/latest/)
for nice mining deployments, or Scrapy Cloud (http://scrapinghub.com/scrapy-cloud.html) 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 (https://github.com/sylvinus/node-crawler) - Node.js Web Crawler/Spider for NodeJS + server-side jQuery.
 
Specifications
 
- The WebDriver Wire Protocol (https://www.selenium.dev/documentation/legacy/json_wire_protocol/) - All implementations of WebDriver that communicate with the browser, or a RemoteWebDriver
server shall use a common wire protocol.
- WebDriver (http://www.w3.org/TR/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 (https://www.selenium.dev/blog/) - The official blog by SeleniumHQ.
- Elemental Selenium (http://elementalselenium.com/) - A free, once-weekly e-mail on how to use Selenium like a Pro.
- SauceLabs Blog (https://saucelabs.com/blog) - Blog curated by SauceLabs.
 
License
 
!CC0 (https://licensebuttons.net/p/zero/1.0/88x31.png) (http://creativecommons.org/publicdomain/zero/1.0/)
 
To the extent possible under law, Christian Bromann (http://www.christian-bromann.com/) has waived all copyright and related or neighboring rights to this work.