[ Selenium Test Automation Boilerplate]
Ready-to-use UI Test Automation Architecture using Java and Selenium WebDriver.
This framework provides a boilerplate project to build UI test automation scripts using Selenium WebDriver with Java as programming language. It implements the Page Object Model design pattern for better test maintenance.
The framework provides an easy way to start writing UI test automation scripts with Selenium WebDriver in Java. It comes with a sample test script that shows how to use Page Objects to interact with web page elements.
- Implements Page Object Model design pattern
- Provides a sample test script with Page Objects
- Modular and scalable framework architecture
- Detailed logging using Log4j
- Centralized configuration using properties file
- Supports test execution on multiple browsers
- Integrates with TestNG for test management
- Contains utility classes for common test actions
The framework can be easily extended as per your project needs. It aims to reduce boilerplate code and provide a structured way of writing maintainable UI test automation scripts with Selenium and Java.
The project uses the following:
- Java 11 as the programming language.
- Selenium WebDriver 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.
- Selenium Shutterbug for capturing screenshots.
- Gradle as the Java build tool.
- IntelliJ IDEA as the IDE.
AdvancedAutomationFramework [ Selenium Test Automation Boilerplate]
├───.apt_generated
├───.idea
├───.vscode
├───reports
├───src
│ ├───main
│ │ └───java
│ │ └───org
│ │ └───miteshdandade
│ │ ├───AbstractComponents
│ │ ├───pageobjects
│ │ └───resources
│ └───test
│ └───java
│ ├───data
│ └───org
│ └───miteshdandade
│ ├───data
│ ├───TestComponents
│ └───tests
├───target
│ ├───classes
│ │ └───org
│ │ └───miteshdandade
│ │ ├───AbstractComponents
│ │ ├───pageobjects
│ │ └───resources
│ ├───generated-sources
│ │ └───annotations
│ ├───generated-test-sources
│ │ └───test-annotations
│ └───test-classes
│ ├───data
│ └───org
│ └───miteshdandade
│ ├───data
│ ├───TestComponents
│ └───tests
└───testSuites