A comprehensive test automation framework using Selenium WebDriver, Cucumber BDD, and TestNG with multiple reporting options.
- Java 21 or higher
- Maven 3.6 or higher
-
Clone the repository:
git clone <repository-url> cd java-selenium-project
-
Run tests:
mvn clean test -
Generate reports:
# Generate all reports mvn verify # Generate and serve Allure report mvn allure:serve
java-selenium-project/
├── src/
│ ├── main/java/
│ │ ├── pages/ # Page Object Model classes
│ │ └── utils/ # Utility classes
│ └── test/
│ ├── java/
│ │ ├── runners/ # Test runners
│ │ └── stepDefinitions/ # Cucumber step definitions
│ └── resources/
│ └── features/ # Cucumber feature files
├── pom.xml
└── testng.xml
All reports are generated in the results/ folder:
- Cucumber HTML:
results/cucumber-html/ - Advanced HTML:
results/cucumber-advanced-html/ - Allure Report:
results/allure-report/(ormvn allure:serve) - TestNG Report:
results/testng-reports/ - JSON Reports:
results/cucumber-json/ - JUnit XML:
results/cucumber-junit/ - Timeline:
results/cucumber-timeline/
- Browser: Configured in
DriverManager.java - Test Data: Update
config.properties - Test Suites: Modify
testng.xml
# Run specific feature
mvn test -Dcucumber.filter.tags="@smoke"
# Run with specific browser
mvn test -Dbrowser=chrome