A Web Test Framework for developing regression suites. The test cases can be run locally and in remote server.
- Download the latest docker-compose.yml
from here, a quicker way to download
this is to use below command
curl https://raw.githubusercontent.com/reportportal/reportportal/master/docker-compose.yml -o docker-compose.yml
- Once downloaded, execute the below command to pull the required images and start containers
docker-compose -p reportportal up -d --force-recreate
- Verify login http://localhost:8080/ui/#login with
default\1q2w3e
orsuperadmin\erebus
- Create a blank project and copy and paste the below config in
reportportal.properties
undersrc/test/resources
. See the table below. - Read these great posts written below by Automation Hacks to configure the Report portal. By far, these are the only posts with accurate steps.
Sl.No | Report portal Property Name | Report portal Property Value |
---|---|---|
1 | rp.endpoint | http://localhost:8080 |
2 | rp.api.key | <API_KEY> |
3 | rp.launch | Java launch |
4 | rp.project | web_tests |



- Create a discord account and follow the steps given here to configure a message channel and send the test reports after the test execution.
- Pass your channel's webhook token in the
SauceLabsPortalConstants
class. - Here we will send the Report Portal Launch URL along with test case metrics. So make sure that your report portal is up and running.
- You're ready to execute your tests now. Follow the below section.

git clone https://github.com/iamcharankumar/web_test_framework.git
cd web_test_framework
git pull
mvn clean test -Dgroups=SAUCE_LABS_SMOKE,SAUCE_LABS_REGRESSION -Dthreads=3 -Ddataproviderthreadcount=3
Sl.No | Browser Name | Run Mode | mvn command |
---|---|---|---|
1 | Chrome | Local | mvn clean test -Dgroups=SAUCE_LABS_SMOKE,SAUCE_LABS_REGRESSION -Dthreads=3 -Ddataproviderthreadcount=3 |
2 | Chrome | Headless | mvn clean test -Drunmode=headless -Dgroups=SAUCE_LABS_SMOKE,SAUCE_LABS_REGRESSION -Dthreads=3 -Ddataproviderthreadcount=3 |
3 | Chrome | Remote | mvn clean test -Drunmode=remote -Dgroups=SAUCE_LABS_SMOKE,SAUCE_LABS_REGRESSION -Dthreads=3 -Ddataproviderthreadcount=3 |
4 | Firefox | Local | mvn clean test -Dbrowser=firefox -Dgroups=SAUCE_LABS_SMOKE,SAUCE_LABS_REGRESSION -Dthreads=3 -Ddataproviderthreadcount=3 |
5 | Firefox | Headless | mvn clean test -Drunmode=headless -Dbrowser=firefox -Dgroups=SAUCE_LABS_SMOKE,SAUCE_LABS_REGRESSION -Dthreads=3 -Ddataproviderthreadcount=3 |
6 | Firefox | Remote | mvn clean test -Drunmode=remote -Dbrowser=firefox -Dgroups=SAUCE_LABS_SMOKE,SAUCE_LABS_REGRESSION -Dthreads=3 -Ddataproviderthreadcount=3 |
7 | Edge | Local | mvn clean test -Dbrowser=edge -Dgroups=SAUCE_LABS_SMOKE,SAUCE_LABS_REGRESSION -Dthreads=3 -Ddataproviderthreadcount=3 |
8 | Edge | Headless | mvn clean test -Drunmode=headless -Dbrowser=edge -Dgroups=SAUCE_LABS_SMOKE,SAUCE_LABS_REGRESSION -Dthreads=3 -Ddataproviderthreadcount=3 |
NOTE: These above commands (no testng.xml required) will run the tests in parallel with the specified thread count and with the respective groups and thread counts. The screenshot listeners are configured in "pom.xml" under "< property >" tag.
- Run mode value can be 'local' or 'remote'
- You can configure it in the "config.properties" file.
- To run in remote server, follow the below docker setup instructions.
Make sure to have the docker desktop and docker compose installed on your machine.
NOTE: Since I'm running the docker-compose-v3.yml
on Apple Chip, I'm using docker-seleniarm
images.
More on the Docker images for Selenium (ARM/NON-ARM)
read this GitHub's README.
⚠️ Tired of Selenium Docker setups breaking on your M1/M2 Mac? Here's a fully functional ARM-based Selenium Grid usingseleniarm
.
Most Selenium Docker images are built for x86_64 architecture — which fails to run on modern ARM64 systems like:
- Apple Silicon Macs (M1/M2)
- Raspberry Pi
- ARM-based CI runners
This project uses the seleniarm
images to build a cross-platform, lightweight, plug-and-play Selenium Grid. 🌍
- Selenium Grid Hub (ARM compatible)
- Chrome & Firefox Nodes (ARM)
- Docker Compose
- VNC Enabled for visual debugging
- Parallel test sessions
Goto /web_test_framework/src/main/java/resources
and execute the below docker commands to setup the Seleniarm Gird
.
docker ps -a
docker rm -vf $(docker ps -aq)
docker-compose -f docker-compose-v3.yml up --scale chrome=10 --scale firefox=10 -d --force-recreate
curl -X DELETE http://localhost:4444/wd/hub/session/{session_id}

