This is a UI Test Automation Framework built using Java, Playwright, TestNG, and ExtentReports. It is designed to be modular, maintainable, and scalable for web application testing.
- Java
- Playwright for Java
- TestNG - Test framework
- ExtentReports - Test report generation
- Maven - Build and dependency management
├── .github/workflows # GitHub Actions for CI/CD
│ ├── main.yml
│ └── playwright.yml
├── src
│ └── main
│ └── java
│ ├── factory # Factory classes
│ │ ├── PlaywrightFactory.java
│ │ └── SessionManagement.java
│ ├── pages # Page Object Model
│ │ ├── HomePage.java
│ │ ├── LoginPage.java
│ │ └── ROListPage.java
│ └── test
│ ├── baseTest # Base setup/teardown
│ │ └── BaseTest.java
│ ├── tests # Test cases
│ │ ├── HomePageTest.java
│ │ └── ROListPageTest.java
│ └── testutils # Utilities
│ ├── AdditionalDescriptions.java
│ ├── JiraTestCaseUtils.java
│ ├── Listeners.java
│ ├── MergeReport.java
│ ├── MyScreenRecorder.java
│ └── TestUtils.java
├── resources/config
│ └── config.properties # Environment config
├── testng.xml # TestNG suite file
├── pom.xml # Maven dependencies
└── .gitignore
- Java 11 or higher
- Maven
- Node.js (for Playwright)
- Git
mvn clean installRun the regression.xml suite file from your IDE or use:
mvn test -DsuiteXmlFile=test_suites/regression.xmlmvn -Dtest=LoginPageTest testExtentReports will be generated under the Reports directory.
Supports screenshots, logs, and video recording.
Page Object Model for better code organization.
GitHub Actions CI pipeline.
Utilities for JIRA integration and reporting.
Tests are automatically triggered via GitHub Actions (.github/workflows/main.yml).