A lightweight load balancer used to create big Selenium clusters
Clone or download
Latest commit 8957bfa Nov 15, 2018

README.md

Go Grid Router

Build Status Coverage GoReport Release Docker Pulls

Go Grid Router (aka Ggr) is a lightweight active load balancer used to create scalable and highly-available Selenium clusters. Ggr Animation

Quick Start Guide

To use Go Grid Router do the following:

  1. Install Docker to host
  2. Create configuration directory:
$ mkdir -p /etc/grid-router/quota
  1. Create users.htpasswd file:
$ htpasswd -bc /etc/grid-router/users.htpasswd test test-password
  1. Start Selenium standalone server on port 4445:
$ java -jar selenium-server-standalone.jar -port 4445

You can also start Selenoid instead.

  1. Create quota file (use correct browser name and version):
$ cat /etc/grid-router/quota/test.xml
<qa:browsers xmlns:qa="urn:config.gridrouter.qatools.ru">
<browser name="firefox" defaultVersion="59.0">
    <version number="59.0">
        <region name="1">
            <host name="localhost" port="4445" count="1"/>
        </region>
    </version>
</browser>
</qa:browsers>

Note: file name should correspond to user name you added to htpasswd file. For user test we added on previous steps you should create test.xml.

  1. Start Ggr container:
# docker run -d --name ggr -v /etc/grid-router/:/etc/grid-router:ro --net host aerokube/ggr:latest-release
  1. Access Ggr on port 4444 in the same way you do for Selenium Hub but using the following url:
http://test:test-password@localhost:4444/wd/hub

Complete Guide & Build Instructions

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