aerokube / ggr

A lightweight load balancer used to create big Selenium clusters
https://aerokube.com/ggr/latest/
Apache License 2.0
314 stars 74 forks source link
ggr grid-router selenium

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

3) Create users.htpasswd file:

$ htpasswd -bc /etc/grid-router/users.htpasswd test test-password

4) Start Selenium standalone server on port 4445:

$ java -jar selenium-server-standalone.jar -port 4445

You can also start Selenoid instead.

5) 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 username you added to htpasswd file. For user test we added on previous steps you should create test.xml.

6) Start Ggr container:

# docker run -d --name ggr -v /etc/grid-router/:/etc/grid-router:ro --net host aerokube/ggr:latest-release

7) 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/