This project leverages a robust automation framework designed for web application testing using modern tools, frameworks, and design patterns.
The project incorporates several key technologies to enable reliable and maintainable automated testing:
- Serves as the core web automation framework for writing and executing browser-based tests.
- All test cases were executed using the Google Chrome browser.
- Used as the build automation and dependency management tool.
- Handles code compilation and dependency resolution via the Project Object Model (POM) file (
pom.xml
).
- Automatically manages driver binaries for Selenium WebDriver.
- Eliminates the need for manual browser driver setup and configuration.
- Provides a powerful testing framework supporting:
- Data-driven and parameterized testing
- Parallel test execution
- Assertions for validation
- Lifecycle annotations such as
@Test
,@BeforeMethod
, and@AfterMethod
- Generates detailed HTML reports summarizing test results and execution details for better traceability.
The test architecture follows the Page Object Model (POM) design pattern, which enhances maintainability and scalability.
-
Page Classes:
Represent each web page of the application (e.g.,CheckoutPage
).
These classes contain:- Locators and WebElements
- Page-specific methods for user interactions
-
Test Classes:
Contain actual test cases corresponding to the application pages (e.g.,CheckoutTest
).
They use methods from Page classes to perform actions and validations.
Layer | Example Class | Description |
---|---|---|
Page Layer | CheckoutPage |
Holds elements and interaction methods |
Test Layer | CheckoutTest |
Contains test logic using CheckoutPage methods |
The PageFactory class from Selenium is used for efficient WebElement initialization.
- Simplifies element declaration with annotations like
@FindBy
- Automatically initializes elements when the Page class is instantiated