#selenium #testing #automation #soda #reverse-proxy #selenium-grid

app soda-test-service

SODA Test Service helps with tracking test sessions

2 releases

Uses old Rust 2015

0.1.1 Feb 7, 2019
0.1.0 Feb 6, 2019

#841 in HTTP server

21 downloads per month

MIT/Apache

21KB
373 lines

SODA - Test Service PRs Welcome Build Status

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 :

  • Identify users with a Basic-Auth
  • Get some insights on test sessions (teams, browers, os)
  • Correlate test session failures to specific OS / browers
  • Follow the test sessions in realtime

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

# 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 : <LISTEN ADDR> <LISTEN PORT> <FWD ADDR> <FWD PORT>
AUTH_USER=user AUTH_PWD=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.

Dependencies

~23–34MB
~520K SLoC