/selenoid

Selenium Hub successor running browsers within containers. Scalable, immutable, self hosted Selenium-Grid on any platform with single binary.

Primary LanguageGoApache License 2.0Apache-2.0

Selenoid

Build Status Coverage Go Report Card Release Docker Pulls StackOverflow Tag

Selenoid is a powerful implementation of Selenium hub using Docker containers to launch browsers. Selenoid Animation

Features

One-command Installation

Start browser automation in minutes by downloading Configuration Manager binary and running just one command:

$ ./cm selenoid start --vnc --tmpfs 128

That's it! You can now use Selenoid instead of Selenium server. Specify the following Selenium URL in tests:

http://localhost:4444/wd/hub

Ready to use Browser Images

No need to manually install browsers or dive into WebDriver documentation. Available images: Browsers List

New images are added right after official releases. You can create your custom images with browsers.

Live Browser Screen and Logs

New rich user interface showing browser screen and Selenium session logs: Selenoid UI

Video Recording

  • Any browser session can be saved to H.264 video (example)
  • An API to list, download and delete recorded video files

Convenient Logging

  • Any browser session logs are automatically saved to files - one per session
  • An API to list, download and delete saved log files

Lightweight and Lightning Fast

Suitable for personal usage and in big clusters:

  • Consumes 10 times less memory than Java-based Selenium server under the same load
  • Small 6 Mb binary with no external dependencies (no need to install Java)
  • Browser consumption API working out of the box
  • Ability to send browser logs to centralized log storage (e.g. to the ELK-stack)
  • Fully isolated and reproducible environment

Detailed Documentation and Free Support

Maintained by a growing community:

Complete Guide & Build Instructions

Complete reference guide (including building instructions) can be found at: http://aerokube.com/selenoid/latest/

Selenoid in Kubernetes

Selenoid was initially created to be deployed on hardware servers or virtual machines and is not suitable for Kubernetes. Detailed motivation is described here. If you still need running Selenium tests in Kubernetes, then take a look at Moon - our dedicated solution for Kubernetes.

Known Users

JetBrains Yandex Sberbank Technology ThoughtWorks VK.com SuperJob PropellerAds AlfaBank 3CX IQ Option Mail.Ru Group Newegg.Com Badoo BCS Quality Lab AT Consulting Royal Caribbean International Sixt Testjar Flipdish RiAdvice