selenium-cucumber-aiassistant-amazon-q

Naveen_DemoProject1 – AI-Assisted Selenium Test Automation Framework using Amazon Q Developer

🚀 Overview

A comprehensive Selenium WebDriver automation framework built using Java, Maven, and Cucumber BDD.
This project demonstrates how Amazon Q Developer can be used to generate an enterprise-ready test automation framework from scratch using basic, user-friendly prompts, significantly reducing manual development effort. The framework follows modern test automation best practices, including the Page Object Model (POM) and Behavior-Driven Development (BDD), and supports detailed test execution reporting, while being designed for scalability, maintainability, and seamless CI/CD integration.

🏆 Project Highlights

🎥 Demo Recording

A complete end-to-end demonstration of this project, including Amazon Q Developer–assisted framework generation, test execution, and reporting, is available at the link below:

🔗 Demo Video (Google Drive): https://drive.google.com/file/d/1jLzyRj0eA2G76cf_fTAeDACaOkITJ09t/view?usp=sharing

📊 Sample Reports & Screenshots

🥒 Cucumber Reports

📋 TestNG Reports

📸 Test Screenshots

🤖 Amazon Q Developer Contribution

This project was generated using Amazon Q Developer AI assistance with continuous code quality improvements.

What Amazon Q Did

Manual Effort by Developer

This demonstrates how Amazon Q can significantly accelerate enterprise-grade test automation development.

🏗️ Architecture

Core Technologies

Framework Structure

src/
├── main/java/com/acme/
│   ├── pages/          # Page Object Model classes
│   │   ├── BasePage.java
│   │   ├── LoginPage.java
│   │   └── DashboardPage.java
│   └── utils/          # Utility classes
│       ├── DriverManager.java
│       ├── ScreenshotUtils.java
│       ├── ReportOpener.java
│       └── TestNGReportGenerator.java
└── test/
    ├── java/com/acme/
    │   ├── runners/TestRunner.java
    │   └── stepdefinitions/LoginSteps.java
    └── resources/
        ├── features/login.feature
        ├── allure.properties
        └── cucumber.properties
testng.xml              # TestNG suite configuration

✨ Key Features

Test Automation Capabilities

BDD Implementation

TestNG Features

Reporting & Analytics

🎯 Test Scenarios

Implemented Test Cases

  1. User Login - Valid credential authentication
  2. Dashboard Access - Post-login navigation verification
  3. User Logout - Complete session termination
  4. Negative Testing - Invalid credential handling

Target Application

🚀 Quick Start

Prerequisites

Installation

git clone https://github.com/Naveen-Ravichandran003/Naveen_DemoProject1.git
cd Naveen_DemoProject1
mvn clean install

Execution Options

1. Run Tests with TestNG

# Run all tests using TestNG suite
mvn clean test

# Headless mode (CI/CD)
mvn test -Dheadless=true

2. Generate Reports

# Generate Allure report
mvn allure:report

# Start Allure live server
mvn allure:serve

Report Access

After execution, reports are available at:

📊 CI/CD Integration

🤔 Why Use CI/CD Integration?

🔄 Continuous Quality Assurance

🚀 Professional Development Practices

📊 Automated Reporting

🏢 Enterprise Requirements

GitHub Actions Workflow

Workflow Triggers

Pipeline Steps

  1. Environment Setup - Java 11, Maven, Chrome
  2. Dependency Caching - Faster builds with Maven cache
  3. Test Execution - Headless Selenium tests
  4. Report Generation - Allure and Cucumber reports
  5. Artifact Upload - Reports and screenshots storage

Viewing Results

Pipeline Configuration

# Example GitHub Actions
- name: Run Tests
  run: mvn clean test -Dheadless=true

- name: Generate Reports
  run: mvn allure:report

🔧 Configuration

Browser Settings

Test Data

📈 Project Metrics

Framework Statistics

Quality Assurance

🤝 Contributing

  1. Fork the repository
  2. Create feature branch (git checkout -b feature/new-test)
  3. Commit changes (git commit -am 'Add new test scenario')
  4. Push to branch (git push origin feature/new-test)
  5. Create Pull Request

📝 License

This project is licensed under the MIT License - see the LICENSE file for details.

🏆 Acknowledgments


Repository: https://github.com/Naveen-Ravichandran003/Naveen_DemoProject1
Branch: Naveen_Demo