Production-focused automation framework with Selenium 4, TestNG, Maven, and CI/CD for multi-application UI and API testing.
| App | Status | Coverage |
|---|---|---|
vwo |
Active | POM + TestNG + BDD + config |
orangehrm |
Active | POM + TestNG + BDD + config |
katalon |
Active | POM + TestNG + config |
- Java 17
- Selenium 4
- TestNG
- Maven
- Cucumber (BDD)
- REST Assured
- Allure
- JaCoCo
- Checkstyle
- OWASP Dependency Check
- GitHub Actions + Jenkins
src/
main/
java/com/prasad_v/apps/
vwo/pages/
orangehrm/pages/
katalon/pages/
java/com/prasad_v/utils/
resources/
config/
vwo/
qa.properties
prod.properties
orangehrm/
qa.properties
katalon/
qa.properties
test/
java/com/prasad_v/apps/
vwo/tests/
vwo/runner/
vwo/definitions/
orangehrm/tests/
orangehrm/runner/
orangehrm/definitions/
katalon/tests/
resources/features/
vwo/
orangehrm/
testng_vwo.xml- VWO UI teststestng_vwo_bdd.xml- VWO BDD runnertestng_orangehrm.xml- OrangeHRM UI teststestng_orangehrm_bdd.xml- OrangeHRM BDD runnertestng_katalon.xml- Katalon UI teststestng_api_tests.xml- API teststestng_docker_grid.xml- Selenium Grid tests
Prerequisites:
- Java 17+
- Maven 3.6+
- Chrome or Firefox installed
Run VWO UI:
mvn clean test -Dapp=vwo -Denv=qa -Dbrowser=chrome -DretryCount=1 -Dsurefire.suiteXmlFiles=testng_vwo.xmlRun OrangeHRM UI:
mvn clean test -Dapp=orangehrm -Denv=qa -Dbrowser=chrome -DretryCount=1 -Dsurefire.suiteXmlFiles=testng_orangehrm.xmlRun VWO BDD:
mvn clean test -Dapp=vwo -Denv=qa -Dbrowser=chrome -DretryCount=1 -Dsurefire.suiteXmlFiles=testng_vwo_bdd.xmlRun OrangeHRM BDD:
mvn clean test -Dapp=orangehrm -Denv=qa -Dbrowser=chrome -DretryCount=1 -Dsurefire.suiteXmlFiles=testng_orangehrm_bdd.xmlRun API suite (ReqRes key required):
mvn clean test -DretryCount=1 -Dsurefire.suiteXmlFiles=testng_api_tests.xml -Dreqres.api.key=<your_key>Run Katalon UI:
mvn clean test -Dapp=katalon -Denv=qa -Dbrowser=chrome -DretryCount=1 -Dsurefire.suiteXmlFiles=testng_katalon.xmlRetry behavior:
-DretryCount=1is the recommended default for unstable environments.-DretryCount=0runs in strict mode with no retry.
.github/workflows/pr-checks.yml- Build verification
- UI matrix tests for
vwo,orangehrm, andkatalon(Chrome) - Strict retry policy (
retryCount=0) - Checkstyle, Sonar (optional), OWASP scan, Docker config validation
.github/workflows/selenium-tests.yml- Push + nightly + manual runs
- Matrix across apps (
vwo,orangehrm,katalon), suite types (ui,bdd), and browser - Manual input supports single-app or all-app execution and configurable retry count
.github/workflows/release.yml- Tag-based release workflow
- Includes multi-app quick start examples
- Parameterized pipeline supports browser, env, suite, and optional Docker Grid
- Retry is configurable by
RETRY_COUNTparameter (1default,0strict) - For API suite, provide ReqRes key using either:
REQRES_API_KEYenvironment variable, or-Dreqres.api.key=...viaMAVEN_OPTS/JAVA_TOOL_OPTIONS
- Surefire XML:
target/surefire-reports/ - Allure report:
target/site/allure-maven-plugin/ - JaCoCo report:
target/site/jacoco/
- App-level data-driven datasets (Excel/POI)