Skip to content

opencode-qa/testing-repo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

16 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿš€ Selenium Automation Framework

Initial Maven Configuration-(v0.0.0) POM Validation

A scalable and modular automation framework foundation using Java, Selenium WebDriver, and TestNG.


๐Ÿ“š Table of Contents

  1. Project Overview
  2. Technical Architecture
  3. Branching Strategy
  4. Versioning Scheme
  5. Initial Setup
  6. Dependencies
  7. Build Configuration
  8. Development Workflow
  9. Future Roadmap
  10. Contributing
  11. Author
  12. License

๐Ÿ“Œ Project Overview

This project establishes the foundation for a robust Selenium WebDriver automation framework using Java 21, TestNG, and Maven.

๐ŸŽฏ Goals of v0.0.0:

  • Set up initial Maven pom.xml with Java 21 compatibility.
  • Add Selenium and TestNG dependencies.
  • Configure Maven Compiler and Clean plugins.

๐Ÿงฑ Technical Architecture

๐Ÿ“ Initial Folder Structure

selenium-framework/
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ main/java/          # Core framework components (future)
โ”‚   โ”œโ”€โ”€ test/java/          # Test classes (future)
โ”‚   โ””โ”€โ”€ test/resources/     # Configuration files (future)
โ”œโ”€โ”€ target/                 # Build output directory
โ”œโ”€โ”€ pom.xml                 # Maven configuration
โ””โ”€โ”€ README.md               # Project documentation

๐Ÿ“ฆ Dependency Graph (v0.0.0)

graph TD
    Java21 --> Maven
    Maven -->|Build| Selenium
    Maven -->|Test| TestNG
    Selenium --> WebDriver
    TestNG --> TestExecution
Loading

๐ŸŒฟ Branching Strategy

We follow Git Flow with the following branches:

gitGraph
   commit id: "Initial commit"
   branch dev
   commit id: "v0.0.0: Maven Setup"
   branch feature/maven-setup
   commit id: "Maven Compiler, Selenium & TestNG"
   checkout dev
   merge feature/maven-setup
   checkout main
   merge dev
   tag v0.0.0
Loading
  • main: Stable production-ready code
  • dev: Integration branch for completed features
  • feature/*: Feature-specific development branches

๐Ÿงฎ Versioning Scheme

We follow Semantic Versioning (SemVer):

  • MAJOR: Breaking changes
  • MINOR: Backward-compatible features
  • PATCH: Bug fixes

Current version: v0.0.0


โš™๏ธ Initial Setup

โœ… Prerequisites

  • Java 21 JDK
  • Maven 3.6+
  • Git 2.30+

๐Ÿ’ป Installation

git clone https://github.com/your-repo/selenium-framework.git
cd selenium-framework
mvn clean install

๐Ÿ“ฆ Dependencies

๐Ÿ”ง Core Dependencies

Dependency Version Purpose
Selenium Java 4.34.0 WebDriver implementation
TestNG 7.11.0 Testing framework
Java 21 Runtime environment

๐Ÿ”จ Plugins

Plugin Version Purpose
Maven Compiler Plugin 3.14.0 Java 21 compilation
Maven Clean Plugin 3.5.0 Cleans target directory

๐Ÿ—๏ธ Build Configuration

๐Ÿงพ pom.xml Highlights

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <selenium.version>4.34.0</selenium.version>
    <testng.version>7.11.0</testng.version>
</properties>

<dependencies>
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-java</artifactId>
        <version>${selenium.version}</version>
    </dependency>
    <dependency>
        <groupId>org.testng</groupId>
        <artifactId>testng</artifactId>
        <version>${testng.version}</version>
        <scope>test</scope>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.14.0</version>
            <configuration>
                <release>21</release>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-clean-plugin</artifactId>
            <version>3.5.0</version>
        </plugin>
    </plugins>
</build>

๐Ÿ” Development Workflow

graph LR
A[feature/*] --> B[Pull Request to dev]
B --> C[Review and Merge into dev]
C --> D[Pull Request to main]
D --> E[Merge to main]
E --> F[Tag as v0.0.0]
Loading

๐Ÿ›ฃ๏ธ Future Roadmap

Version Feature(s) Status Target Date
v0.0.0 Initial Maven configuration (pom.xml with dependencies and plugins) ๐Ÿšง WIP 03-Aug-2025
v0.1.0 First test: TextBoxTest โณ Planned 06-Aug-2025
v0.2.0 Configuration manager (ConfigManager.java, config.properties) + CI/CD โณ Planned 09-Aug-2025
v0.3.0 Log4j2 logging integration โณ Planned 12-Aug-2025
v0.4.0 Robust exception handling โณ Planned 15-Aug-2025
v0.5.0 WebDriver setup (DriverFactory, DriverManager, BaseTest) โณ Planned 18-Aug-2025
v0.6.0 Page Object Model (BasePage, TextBoxPage) โณ Planned 21-Aug-2025
v0.7.0 Wait utility enhancements โณ Planned 24-Aug-2025
v0.8.0 Screenshot capture for failed tests โณ Planned 27-Aug-2025
v0.9.0 TestNG listeners integration โณ Planned 30-Aug-2025
v1.0.0 Allure Reports with logs & screenshots โณ Planned 03-Sep-2025
v1.1.0 Retry mechanism (max 3 immediate retries) โณ Planned 06-Sep-2025

๐Ÿค Contributing

# Fork the repository
# Create feature branch
git checkout -b feature/your-feature

# Commit changes
git commit -am "Add your feature"

# Push to origin
git push origin feature/your-feature

# Create Pull Request on GitHub

๐Ÿ‘จโ€๐Ÿ’ป Author

ANUJ KUMAR ๐Ÿ… QA Consultant & Test Automation Engineer


๐Ÿ“œ License

Distributed under the MIT License.

โ€œFirst, solve the problem. Then, write the code.โ€ โ€“ John Johnson

This framework adheres to this principle with its configuration-first approach.

About

this is a test repo

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •