Skip to content

GetaUlici/AutomationSolutionNetlify

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🧪 Project Automation Overview

This project leverages a robust automation framework designed for web application testing using modern tools, frameworks, and design patterns.


🛠️ Technologies Used

The project incorporates several key technologies to enable reliable and maintainable automated testing:

1. Selenium WebDriver

  • Serves as the core web automation framework for writing and executing browser-based tests.
  • All test cases were executed using the Google Chrome browser.

2. Maven

  • Used as the build automation and dependency management tool.
  • Handles code compilation and dependency resolution via the Project Object Model (POM) file (pom.xml).

3. WebDriverManager

  • Automatically manages driver binaries for Selenium WebDriver.
  • Eliminates the need for manual browser driver setup and configuration.

4. TestNG

  • 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

5. ExtentReports

  • Generates detailed HTML reports summarizing test results and execution details for better traceability.

📐 Design Pattern: Page Object Model (POM)

The test architecture follows the Page Object Model (POM) design pattern, which enhances maintainability and scalability.

Structure

  • 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.

Example Mapping

Layer Example Class Description
Page Layer CheckoutPage Holds elements and interaction methods
Test Layer CheckoutTest Contains test logic using CheckoutPage methods

🔗 Element Initialization with PageFactory

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