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
21KB
373 lines
SODA - Test Service
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
AUTH_USER=user AUTH_PWD=pwd docker-compose up -d
- http://user:pwd@localhost:8080
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, usecargo 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
- Apache license, version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
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