API Automation Framework for CRUD and end-to-end API workflows.
- Linux/macOS:
./mvnw test -DsuiteXmlFile=testng.xml -Denv=dev - Windows:
mvnw.cmd test -DsuiteXmlFile=testng.xml -Denv=dev
- Java (JDK 22)
- Rest Assured + TestNG
- Apache POI
- AssertJ
- Jackson + Gson
- Log4j2
- Allure + Extent Reports
- Maven Wrapper
- Jenkins Pipeline
- Linux/macOS:
./mvnw clean compile - Windows:
mvnw.cmd clean compile
- Full suite:
./mvnw test -DsuiteXmlFile=testng.xml -Denv=dev - Parallel suite:
./mvnw test -DsuiteXmlFile=testng_parallel.xml -Denv=dev - Regression suite:
./mvnw test -DsuiteXmlFile=testng_reg.xml -Denv=dev - E2E suite:
./mvnw test -DsuiteXmlFile=testng_E2E.xml -Denv=dev
./mvnw test -DsuiteXmlFile=testng_retry_check.xml -Denv=dev
Expected behavior:
- First attempt fails intentionally.
- Retry listener triggers rerun.
- Second attempt passes.
- Serve report:
allure serve allure-results - Generate static report:
allure generate allure-results --clean -o allure-report
./mvnw verify -DsuiteXmlFile=testng.xml -Denv=dev
The framework includes three automated workflows:
- API Framework CI - Runs on push/PR with matrix strategy
- Publish Allure Report - Deploys reports to GitHub Pages
- Scheduled Regression - Daily automated regression tests
See CI/CD Workflows Documentation for details.
The pipeline file is available at Jenkinsfile.
Use the ENV and SUITE parameters to select target environment and suite XML.
For qa and prod, framework startup now validates configuration and fails fast if:
- URLs are missing or still use placeholder domains (like
example.com) - Required auth values are missing
QA:
AUTH_CLIENT_IDAUTH_CLIENT_SECRETAUTH_USERNAMEAUTH_PASSWORD
PROD:
PROD_CLIENT_IDPROD_CLIENT_SECRETPROD_API_USERNAMEPROD_API_PASSWORD
Optional SSL:
SSL_KEYSTORE_PASSWORD(qa)PROD_KEYSTORE_PASSWORD(prod)
Use .env.example as the template for your local/CI secret setup.