Below you will find some examples on how to use the Tunnel.

To start your Tunnel, download the Java based Tunnel and run from the commandline:

java -jar testingbot-tunnel.jar key secret

Below you will find an example demonstrating how to adjust your tests to use the Tunnel.

urlhub = "http://key:secret@hub.testingbot.com/wd/hub"
client = Selenium::WebDriver::Remote::Http::Default.new
urlhub = "http://key:secret@localhost:4445/wd/hub"
client = Selenium::WebDriver::Remote::Http::Default.new

Notice how we now use localhost:4445, which will send the test commands through the Tunnel.

Tunnel Identifiers

You can choose to use a tunnel identifier to connect to a specific tunnel.

For example, launch a tunnel:

java -jar testingbot-tunnel.jar key secret -i myTunnel

This tunnel now has an identifier "myTunnel". You can instruct your tests to go through this specific tunnel with Desired Capabilities:


Adding Extra Headers

TestingBot tunnel allows you to add extra headers to the HTTP requests it will make during testing.

For example, to add a custom header:
java -jar testingbot-tunnel.jar key secret \
--extra-headers '{"MyOwnHeader": "HeaderValue"}'

Upstream Proxy

You can instruct TestingBot Tunnel to use a specific upstream proxy.
For example, your company network requires all traffic to go through a specific proxy.
Or, you'd like to do geo-location testing and want to use a proxy in a different geographical location.


You can specify -Y address:port to indicate which proxy you'd like to use.
If your proxy requires authentication, you can pass the credentials with:

-z username:password
For example:
java -jar testingbot-tunnel.jar key secret -Y myproxy:9000 -z username:password

Basic Authentication

If you need to test a website or pages that require Basic Authentication, then you can instruct TestingBot tunnel to automatically enter the correct credentials during testing.

You can specify -a host:port:user:passwd to indicate which credentials to use for which host (+port).
If your website is not running on a specific port, you can use port 80.

java -jar testingbot-tunnel.jar key secret -a mywebsite.com:80:myusername:mypassword