A robust, enterprise-ready end-to-end test automation framework built with Java 21, Selenium WebDriver, TestNG, and Maven, targeting modern web applications with comprehensive reporting via Allure and structured JSON test telemetry.
- Page Object Model (POM): Clean separation of test logic and page interaction layers.
- Dynamic Element Synchronization: Explicit
WebDriverWaitandExpectedConditionshandling dynamic web elements, timeouts, and state transitions. - Telemetry & Reporting:
- Automated HTML reports via Allure Report.
- Structured JSON export (
target/test-results.json) through customTestResultListener, enabling downstream analytics in dashboards like TestNexus.
- Cross-Browser Architecture: Configurable browser execution across Chrome, Edge, and Firefox.
- CI/CD Ready: Automated execution via Maven Surefire plugin.
- Elements Suite:
- Text Box (
TextBoxTest): Data entry, form submission, and output validation. - Check Box (
CheckBoxTest): Tree-node selection and multi-branch checks. - Radio Button (
RadioButtonTest): Option selection and state assertions. - Web Tables (
WebTablesTest): Record addition, editing, row deletion, and table search. - Buttons (
ButtonTest): Double-click, right-click, and dynamic single-click validations. - Links (
LinkTest): Navigation redirects, HTTP status validation (200, 301, 400, 404, 500). - Broken Links & Images (
BrokenLinkImageTest): HTTP status verification and broken image DOM detection. - Upload & Download (
UploadAndDownloadTest): File download verification and multipart file uploads. - Dynamic Properties (
DynamicPropertiesTest):TC014: Verification of button enablement after 5-second asynchronous delay.TC015: Text color transition validation after 5 seconds.TC016: Element visibility wait assertion after 5-second delay.
- Text Box (
- JDK 21+
- Apache Maven 3.9+
- Google Chrome (or target browser)
-
Clone the repository:
git clone https://github.com/chiragbitoni/SeleniumJavaAutomationFramework.git cd SeleniumJavaAutomationFramework -
Compile and build:
mvn clean test-compile
-
Run the full regression test suite:
mvn test -
Generate and view Allure Report:
allure serve allure-results
-
JSON Test Results: Execution results are automatically recorded in
target/test-results.jsonafter test completion.
This project is licensed under the MIT License.