SODA - Test Service PRs Welcome Build Status crates.io

The test service is a microservice belonging to the project Selenium On Demand Acronym. It acts like a reverse proxy in front of your Selenium hub. The test service is useful to :

Getting Started

These instructions will get you a minimal Selenium Grid with : * A Selenium hub * A test-service in front of your hub * A Selenium node Chrome (Linux) * A Selenium node Firefox (Linux)

Docker compose

By using our docker-compose.yml

By adding the test service to your docker compose

Copy the following snippet to add the test service in your docker-compose file and customize it as you want. It's fully compatible with the official repositories of SeleniumHQ/docker-selenium.

Note that you need to replace the values of AUTH_USER and AUTH_PWD by your owns :

test-service: image: soda/test-service:latest ports: - "8080:8080" environment: - HUB_PORT_4444_TCP_ADDR=hub - HUB_PORT_4444_TCP_PORT=4444 - AUTH_USER=my_user - AUTH_PWD=my_user_pwd networks: - your-selenium-network

Then run your services with the following docker-compose command : ```

Equivalent to docker-compose up -d test-service hub chrome firefox

docker-compose up -d ```

Finally use the Selenium hub through the test-service : http://<AUTH_USER>:<AUTH_PWD>@localhost:8080

Development

Prerequisites

Pro tip : when you're developing, always use cargo check to avoid long build times. Then, when you are ready to test your work, use cargo run which will build a non-optimized binary and launch it.

Launch the Selenium grid behind the test service

```bash

Launch the Selenium hub with chrome and firefox on localhost:4444

docker-compose up -d hub chrome firefox

Launch the test service on localhost:8080 and forward requests to the hub

Arguments :

AUTHUSER=user AUTHPWD=pwd cargo run localhost 8080 localhost 4444 ```

License

This project is licensed under either of

at your option.

Contribution

Your contribution is welcome! You can found more information in the CONTRIBUTING.md.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you shall be dual licensed as above, without any additional terms or conditions.