Ready-to-use UI Test Automation Architecture using Java and Playwright.
The project uses the following:
- Java 11 as the programming language.
- Playwright as the web browser automation framework using the Java binding.
- Univocity Parsers to parse and handle CSV files.
- TestNG as the testing framework.
- AssertJ as the assertion library.
- Lombok to generate getters.
- Owner to minimize the code to handle properties file.
- Extent Reports as the test reporting strategy.
- Gradle as the Java build tool.
- IntelliJ IDEA as the IDE.
The project uses general.properties file to map all the global parameters such as browser and base url. All the relevant classes to read the parameters are provided in the config package.
The project reads test data from csv files. The test data properties are modeled in terms of entities and the data
package handles this. For convenience, there is an example class - LoginData.java to demonstrate the usage.
The project uses Page Object Model to capture all the relevant UI components and functionalities of a web page. The page package provides all the classes to achieve this. For convenience, there is an example class - LoginPage.java to demonstrate the usage.
The project uses Extent Reports to provide test reporting functionalities. The report package contains the relevant class.
LoginTest.java demonstrates an example test script.
The project uses GitHub Actions to run the playwright tests when an update is made to the main
branch of the repo in GitHub.