/ggr

A lightweight load balancer used to create big Selenium clusters

Primary LanguageGoApache License 2.0Apache-2.0

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

Articles

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/