A modern Selenium Java framework for UI automation using TestNG and Page Object Model (POM) design.
This framework is designed to be scalable, reusable, and CI/CD-ready, making it ideal for showcasing in interviews or as a professional portfolio.
- Java: 17+
- Selenium: 4.9+
- TestNG: 7.7+
- Maven: Project management and dependency management
- Reporting: TestNG HTML reports (optional Extent/Allure)
- CI/CD: GitHub Actions (optional)
- Page Object Model (POM) design for maintainable tests
- Reusable helper classes and utilities in
components/ - Supports Chrome, Firefox, and remote browsers
- Environment-based configuration (dev, staging)
- Test data management using
resources/ - Generates HTML test reports
- Structured for interview/demo purposes
selenium-java-framework/
│
├── src/
│ ├── main/java/
│ │ ├── components/ # Reusable helper classes
│ │ └── pageobjects/ # Page Object Model classes
│ │
│ └── test/java/
│ └── tests/ # Test cases
│
├── testSuites/ # TestNG XML suites
│
├── reports/ # Test reports (auto-generated)
│
├── test-output/ # TestNG output (auto-generated)
│
├── pom.xml # Maven dependencies
├── data.properties # Test configuration
├── data.xlsx # Test data
└── README.md # Documentation
git clone https://github.com/snnarangsumit/selenium-java-framework.git
cd selenium-java-framework
2. Build the project
mvn clean install
3. Run all tests
mvn clean test
4. Run a specific test
mvn clean test -Dtest=LoginTest
5. View test reports
TestNG reports are generated in test-output/ or reports/ (if added)
## 🔹 Folder Structure