Skip to content

Production-ready test automation framework using Playwright & Cucumber BDD with TypeScript. Features parallel execution, multi-browser support, comprehensive logging, and CI/CD integration.

License

Notifications You must be signed in to change notification settings

avinash-qa-automation/playwright-cucumber-boilerplate

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

8 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🎭 Playwright + Cucumber BDD Test Automation Framework

Playwright Cucumber TypeScript Node.js

A modern, comprehensive, production-ready test automation framework with Visual Regression, Performance Testing, Accessibility Testing, and Mobile Emulation

Features β€’ Quick Start β€’ Commands β€’ Documentation β€’ Examples

Tests Coverage Version License


🌟 Overview

This framework provides a complete testing solution for modern web applications, combining the power of Playwright with Cucumber BDD, enhanced with enterprise-grade features including Visual Regression, Performance Monitoring, Accessibility Compliance, and Mobile Device Testing.

Why This Framework?

  • βœ… All-in-One Solution: UI, API, Visual, Performance, Accessibility, Mobile - everything included
  • βœ… Production-Ready: Battle-tested with comprehensive error handling and diagnostics
  • βœ… Developer-Friendly: TypeScript with excellent IDE support and type safety
  • βœ… Business-Readable: Cucumber's Gherkin syntax for stakeholder collaboration
  • βœ… Fast & Reliable: Parallel execution, auto-waiting, and smart retry mechanisms
  • βœ… Quality-First: Built-in performance budgets, accessibility checks, and visual comparisons

πŸš€ Features

🎯 Core Testing Capabilities

UI Test Automation

  • 🎭 Playwright Integration - Modern, reliable cross-browser automation
  • πŸ₯’ Cucumber BDD - Write tests in plain English using Gherkin syntax
  • πŸ“˜ TypeScript - Full type safety and excellent developer experience
  • πŸ—οΈ Page Object Model - Maintainable, scalable test architecture
  • 🌍 World Pattern - Proper test isolation and state management

API Testing (Phase 2) πŸ†•

  • πŸ”Œ Full REST API Support - GET, POST, PUT, PATCH, DELETE
  • πŸ” Authentication Management - Token-based auth handling
  • βœ… Response Assertions - Built-in status and content validation
  • πŸ“Š Request/Response Logging - Automatic logging with performance metrics
  • πŸ”„ Hybrid Testing - Seamlessly combine API and UI tests

Network Control (Phase 2) πŸ†•

  • πŸ•ΈοΈ Traffic Capture - Monitor all network requests/responses
  • 🎭 API Mocking - Mock external dependencies for deterministic tests
  • 🚫 Resource Blocking - Block ads, analytics, fonts for faster execution
  • 🐌 Network Simulation - Test slow connections and offline scenarios
  • πŸ“ˆ Performance Metrics - Track request durations and patterns

Visual Regression Testing (Phase 3) πŸ†•

  • πŸ“Έ Screenshot Comparison - Pixel-perfect visual regression testing
  • 🎨 Element Comparison - Test specific components independently
  • 🎭 Dynamic Content Masking - Hide changing elements (dates, counters)
  • πŸ“± Responsive Testing - Compare across multiple viewports
  • 🎯 Hover/Focus States - Test interactive element states
  • πŸ“ Custom Thresholds - Configurable tolerance for differences

Performance Testing (Phase 3) πŸ†•

  • ⚑ Web Vitals - FCP, LCP, CLS, TTI, TBT measurements
  • πŸ“Š Performance Budgets - Set and enforce performance thresholds
  • 🎯 Performance Scoring - 0-100 score based on metrics
  • πŸ“ˆ Resource Analysis - Identify slowest/largest resources
  • ⏱️ TTFB Measurement - Time to First Byte tracking
  • πŸ“‹ Automated Reports - Detailed performance reports with violations

Accessibility Testing (Phase 3) πŸ†•

  • β™Ώ WCAG Compliance - WCAG 2.0, 2.1, 2.2 Level A, AA, AAA
  • πŸ” axe-core Integration - Industry-standard accessibility testing
  • 🎨 Color Contrast - Automatic contrast ratio checking
  • πŸ“ Form Validation - Label and input accessibility checks
  • πŸ–ΌοΈ Image Alt Text - Verify all images have descriptions
  • ⌨️ Keyboard Navigation - Test keyboard accessibility
  • πŸ† Accessibility Scoring - Get compliance scores (0-100)

Mobile Device Emulation (Phase 3) πŸ†•

  • πŸ“± 20+ Devices - iPhone, iPad, Android phones, tablets
  • πŸ‘† Touch Gestures - Tap, swipe, pinch, long press
  • πŸ”„ Device Rotation - Portrait/landscape testing
  • πŸ“ Geolocation - Test location-based features
  • πŸ“‘ Network Conditions - Emulate 3G, 4G, WiFi, offline
  • πŸ“ Responsive Breakpoints - Test all common screen sizes

βš™οΈ Test Execution

  • ⚑ Parallel Execution - Run tests concurrently (2-8+ workers)
  • 🌐 Multi-Browser Support - Chromium, Firefox, WebKit
  • 🎯 Multi-Environment - Dev, Staging, Production, CI configurations
  • 🏷️ Tag-Based Filtering - Run specific suites (@smoke, @regression, @api, @visual, etc.)
  • πŸ” Smart Retry Logic - Exponential backoff for flaky tests
  • 🎬 Debug Mode - Headed browser with slow motion for troubleshooting

πŸ” Debugging & Diagnostics

  • πŸ“Έ Screenshots on Failure - Automatic capture with timestamping
  • πŸŽ₯ Video Recording - Configurable modes (on-failure, always, first-retry)
  • πŸ” Playwright Traces - Deep debugging with timeline and network logs
  • πŸ“Š Advanced Logging - Winston-based structured logging with levels
  • 🎨 Colored Console Output - Easy-to-read test execution logs with emojis
  • πŸ”§ Error Diagnostics - Context capture, stack traces, page state
  • πŸ•ΈοΈ Network Logs - Request/response capture in traces
  • πŸ’» Browser Console - Capture and attach console logs

πŸ“ˆ Reporting & CI/CD

Reports

  • πŸ“„ Standard Cucumber HTML - Feature/scenario breakdown
  • ✨ Enhanced HTML Summary - Beautiful reports with charts and statistics
  • πŸ“Š JSON Reports - Machine-readable for integrations
  • πŸ“‹ JUnit XML - For CI/CD integration
  • 🎯 Performance Reports - Detailed Web Vitals and budget violations
  • β™Ώ Accessibility Reports - WCAG violations with remediation guidance
  • πŸ“Έ Visual Diff Reports - Side-by-side comparisons with highlights

CI/CD Integration

  • πŸ”„ GitHub Actions Ready - Pre-configured workflow included
  • 🐳 Docker Support - Containerized execution (coming soon)
  • πŸ”§ Environment Variables - Easy configuration management
  • πŸ“¦ Artifact Upload - Screenshots, videos, traces, reports
  • 🎯 Quality Gates - Fail builds on budget violations or accessibility issues

πŸ› οΈ Developer Experience

  • πŸŽ›οΈ Centralized Configuration - Single source for all settings
  • πŸ” Retry Logic - Smart exponential backoff
  • πŸ›‘οΈ Error Handling - Comprehensive error utilities
  • πŸ“ Code Quality - ESLint and Prettier configurations
  • 🚦 Type Safety - Full TypeScript throughout
  • πŸ“š Comprehensive Docs - Detailed guides for all features
  • πŸŽ“ Example Tests - Real-world examples for every feature

πŸ“¦ Test Data Management (Phase 2)

  • πŸ—„οΈ Static Data Repository - Predefined users, products, checkout info
  • 🎲 Dynamic Generation - Random usernames, emails, passwords
  • πŸ“ File-Based Loading - JSON data files with caching
  • 🌍 Environment-Specific - Different data per environment
  • πŸ—οΈ Data Builders - Fluent API for test data creation

πŸ“‹ Prerequisites

  • Node.js >= 18.x
  • npm >= 9.x
  • Basic understanding of TypeScript and Cucumber BDD

πŸš€ Quick Start

Installation

# Clone the repository
git clone https://github.com/yourusername/playwright-cucumber-framework.git
cd playwright-cucumber-framework

# Install dependencies
npm install

# Install Playwright browsers
npx playwright install

# Copy environment configuration
cp .env.example .env

# Edit .env with your settings
nano .env

Run Your First Test

# Run all tests
npm test

# Run smoke tests only
npm run test:smoke

# Run in debug mode (visible browser)
npm run test:debug

# View report
npm run report

🎯 Test Commands

Basic Execution

npm test                     # Run all tests
npm run test:smoke           # Quick critical path tests
npm run test:regression      # Full regression suite
npm run test:parallel        # Parallel execution (2 workers)
npm run test:parallel:4      # Parallel with 4 workers
npm run test:debug           # Debug mode (headed + slow motion)

Test Types

npm run test:ui              # UI tests only
npm run test:api             # API tests only
npm run test:visual          # Visual regression tests
npm run test:performance     # Performance tests
npm run test:accessibility   # Accessibility tests
npm run test:a11y            # Alias for accessibility
npm run test:mobile          # Mobile device tests
npm run test:responsive      # Responsive design tests
npm run test:network         # Network monitoring tests
npm run test:mock            # Tests with API mocking
npm run test:advanced        # All advanced tests
npm run test:quality         # Complete quality assessment

Environments

npm run test:dev             # Development environment
npm run test:staging         # Staging environment
npm run test:prod            # Production environment
npm run test:ci              # CI-optimized (with compilation)

Browsers

npm run test:chromium        # Google Chrome/Edge
npm run test:firefox         # Mozilla Firefox
npm run test:webkit          # Safari

Special Modes

npm run test:headed          # Visible browser
npm run test:blocked         # Block ads/analytics
npm run snapshots:update     # Update visual baselines

Utilities

npm run report               # Open enhanced HTML report
npm run report:cucumber      # Open standard Cucumber report
npm run clean                # Clean all artifacts
npm run clean:reports        # Clean reports only
npm run clean:snapshots      # Clean visual snapshots
npm run compile              # Compile TypeScript
npm run lint                 # Run ESLint
npm run format               # Format with Prettier

πŸ“ Project Structure

playwright-cucumber-framework/
β”œβ”€β”€ .github/
β”‚   └── workflows/
β”‚       └── playwright-tests.yml          # CI/CD pipeline
β”œβ”€β”€ config/
β”‚   └── test.config.ts                    # Centralized configuration
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ accessibility/
β”‚   β”‚   └── accessibility-helper.ts       # WCAG compliance testing
β”‚   β”œβ”€β”€ api/
β”‚   β”‚   └── api-client.ts                 # REST API testing
β”‚   β”œβ”€β”€ mobile/
β”‚   β”‚   └── mobile-helper.ts              # Device emulation
β”‚   β”œβ”€β”€ performance/
β”‚   β”‚   └── performance-helper.ts         # Web Vitals & budgets
β”‚   β”œβ”€β”€ utils/
β”‚   β”‚   β”œβ”€β”€ error-handler.ts              # Error handling
β”‚   β”‚   └── logger.ts                     # Winston logger
β”‚   β”œβ”€β”€ visual/
β”‚   β”‚   └── visual-testing.ts             # Visual regression
β”‚   └── web/
β”‚       β”œβ”€β”€ actions.ts                    # Web actions
β”‚       └── network-helper.ts             # Network mocking
β”œβ”€β”€ tests/
β”‚   β”œβ”€β”€ data/
β”‚   β”‚   └── test-data-manager.ts          # Test data management
β”‚   β”œβ”€β”€ features/
β”‚   β”‚   β”œβ”€β”€ shopping.feature              # UI test scenarios
β”‚   β”‚   β”œβ”€β”€ api-example.feature           # API test scenarios
β”‚   β”‚   └── advanced-testing.feature      # Advanced features
β”‚   β”œβ”€β”€ pages/
β”‚   β”‚   β”œβ”€β”€ login.page.ts                 # Page objects
β”‚   β”‚   β”œβ”€β”€ products.page.ts
β”‚   β”‚   └── cart.page.ts
β”‚   β”œβ”€β”€ steps/
β”‚   β”‚   β”œβ”€β”€ shopping.steps.ts             # Step definitions
β”‚   β”‚   β”œβ”€β”€ api.steps.ts
β”‚   β”‚   └── advanced.steps.ts
β”‚   β”œβ”€β”€ support/
β”‚   β”‚   β”œβ”€β”€ world.ts                      # Cucumber World
β”‚   β”‚   β”œβ”€β”€ hooks.ts                      # Test hooks
β”‚   β”‚   └── custom-reporter.ts            # Custom reporter
β”‚   └── test-results/                     # Test artifacts
β”‚       β”œβ”€β”€ reports/
β”‚       β”‚   β”œβ”€β”€ cucumber-report.html
β”‚       β”‚   β”œβ”€β”€ summary.html
β”‚       β”‚   └── enhanced-report.json
β”‚       β”œβ”€β”€ screenshots/
β”‚       β”‚   └── snapshots/
β”‚       β”œβ”€β”€ videos/
β”‚       └── traces/
β”œβ”€β”€ logs/
β”‚   β”œβ”€β”€ error.log
β”‚   └── combined.log
β”œβ”€β”€ .env.example                           # Environment template
β”œβ”€β”€ .gitignore
β”œβ”€β”€ cucumber.config.js
β”œβ”€β”€ tsconfig.json
β”œβ”€β”€ package.json
β”œβ”€β”€ README.md                              # This file
β”œβ”€β”€ TEST_COMMANDS.md                       # Complete command reference
β”œβ”€β”€ PHASE2_FEATURES.md                     # API & Network features
β”œβ”€β”€ PHASE3_FEATURES.md                     # Visual, Perf, A11y, Mobile
└── FRAMEWORK_COMPLETE.md                  # Final summary

πŸ’‘ Usage Examples

UI Test Example

Feature File (tests/features/shopping.feature):

@ui @smoke
Feature: Shopping Cart

  Scenario: Add item to cart
    Given I am on the Sauce Demo login page
    When I login with standard user credentials
    And I add "Sauce Labs Backpack" to cart
    And I navigate to cart
    Then I should see "Sauce Labs Backpack" in my cart

Step Definition (tests/steps/shopping.steps.ts):

When('I add {string} to cart', async function(this: TestWorld, productName: string) {
    this.scenarioLogger.step(`Adding product "${productName}" to cart`);
    await this.productsPage.addToCart(productName);
    this.scenarioLogger.info(`Product "${productName}" added to cart`);
});

Page Object (tests/pages/products.page.ts):

export class ProductsPage {
    constructor(private page: Page, private actions: WebActions) {}

    async addToCart(productName: string): Promise<void> {
        const selector = `//div[text()="${productName}"]//button`;
        await this.actions.click(selector);
    }
}

API Test Example

Feature File:

@api @smoke
Feature: User API

  Scenario: Create new user
    Given I have a valid API authentication token
    When I make a POST request to "/api/users" with:
      | name  | John Doe      |
      | email | john@test.com |
    Then the API response status should be 201
    And the API response should be valid JSON

Step Definition:

When('I make a POST request to {string} with:', async function(this: TestWorld, endpoint: string, dataTable) {
    const data = dataTable.rowsHash();
    const response = await this.apiClient.post(endpoint, data);
    (this as any).lastApiResponse = response;
});

Visual Regression Test

Feature File:

@visual @regression
Feature: Visual Regression

  Scenario: Products page visual check
    Given I am on the products page
    When I compare the page visually as "products-page"
    Then all visual comparisons should pass

Performance Test

Feature File:

@performance @smoke
Feature: Page Performance

  Scenario: Page load performance
    Given I am on the products page
    When I measure page load performance
    Then the page should load within 3000ms
    And the performance score should be at least 80

Accessibility Test

Feature File:

@accessibility @wcag
Feature: Accessibility Compliance

  Scenario: WCAG AA compliance
    Given I am on the products page
    When I run an accessibility scan
    Then there should be no critical accessibility violations
    And the page should be WCAG "AA" compliant

Mobile Test

Feature File:

@mobile @responsive
Feature: Mobile Testing

  Scenario: iPhone 13 testing
    Given I am using a "iPhone_13" device
    And I am on the products page
    When I tap on ".add-to-cart"
    Then the item should be added to cart

Network Mocking

Step Definition:

Given('I mock the API response for {string}', async function(this: TestWorld, urlPattern: string) {
    await this.networkHelper.mockApiResponse(urlPattern, {
        status: 200,
        body: { success: true, data: [...] }
    });
});

Test Data Usage

import { TestData, DataBuilder } from '../data/test-data-manager';

// Static data
const user = TestData.users.standard;
await this.loginPage.login(user.username, user.password);

// Dynamic data
const randomUser = DataBuilder.generateUserCredentials();
const checkoutInfo = DataBuilder.generateCheckoutInfo();

πŸ“Š Reports and Artifacts

Available Reports

After running tests, find reports in test-results/:

  1. Enhanced HTML Summary (reports/summary.html)

    • Visual success rate display
    • Test statistics with charts
    • Slowest scenarios
    • Failed scenarios with errors
    • Test metadata
  2. Standard Cucumber HTML (reports/cucumber-report.html)

    • Feature-by-feature breakdown
    • Scenario details
    • Step execution times
  3. Enhanced JSON (reports/enhanced-report.json)

    • Machine-readable format
    • Performance metrics
    • Budget violations
    • For custom integrations
  4. Performance Reports (performance/performance-report.json)

    • Web Vitals metrics
    • Resource timing
    • Budget violations
    • Performance score
  5. Accessibility Reports (accessibility/a11y-report.json)

    • WCAG violations
    • Impact levels
    • Remediation guidance
    • Accessibility score

Artifacts on Failure

Automatically captured when tests fail:

  • Screenshots - screenshots/*.png
  • Videos - videos/*.webm
  • Traces - traces/*.zip (view with npx playwright show-trace)
  • Visual Diffs - screenshots/snapshots/*-diff.png
  • Network Logs - Included in traces
  • Console Logs - Attached to Cucumber report
  • Page HTML - Attached to report

Viewing Reports

# Open enhanced summary
npm run report

# Open Cucumber report
npm run report:cucumber

# View traces
npx playwright show-trace test-results/traces/scenario.zip

# View logs
tail -f logs/combined.log
cat logs/error.log

βš™οΈ Configuration

Environment Variables (.env)

# Environment
TEST_ENV=dev                          # dev, staging, prod, ci
NODE_ENV=development

# Browser
BROWSER=chromium                      # chromium, firefox, webkit
HEADLESS=false                        # true, false
SLOW_MO=0                            # Delay in ms
TIMEOUT=30000                        # Default timeout in ms

# Viewport
VIEWPORT_WIDTH=1920
VIEWPORT_HEIGHT=1080

# Execution
PARALLEL_WORKERS=1                   # Number of parallel workers
RETRIES=2                            # Test retry count

# Logging
LOG_LEVEL=info                       # error, warn, info, debug

# Video Recording
VIDEO_RECORDING=true
VIDEO_MODE=retain-on-failure         # on, off, retain-on-failure, on-first-retry

# Screenshots
SCREENSHOT_ON_FAILURE=true

# Tracing
TRACE_ENABLED=true
TRACE_MODE=retain-on-failure

# Visual Testing
VISUAL_THRESHOLD=0.2
VISUAL_MAX_DIFF_PIXELS=100

# Performance
PERF_BUDGET_LOAD=3000
PERF_BUDGET_FCP=1800
PERF_BUDGET_LCP=2500

# Accessibility
A11Y_LEVEL=AA                        # A, AA, AAA
A11Y_FAIL_ON_VIOLATIONS=false

# Mobile
DEFAULT_MOBILE_DEVICE=iPhone_13
MOBILE_NETWORK=4g

# CI/CD
CI=false

Test Configuration (config/test.config.ts)

The framework automatically loads environment-specific configuration:

// Development
TEST_ENV=dev npm test

// Staging
TEST_ENV=staging npm test

// Production
TEST_ENV=prod npm test

// CI
TEST_ENV=ci npm run test:ci

πŸ”„ CI/CD Integration

GitHub Actions (Pre-configured)

The framework includes a ready-to-use GitHub Actions workflow:

# .github/workflows/playwright-tests.yml
name: Playwright Tests
on: [push, pull_request, workflow_dispatch]

jobs:
  test:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        browser: [chromium, firefox, webkit]
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
      - run: npm ci
      - run: npx playwright install --with-deps
      - run: npm run test:ci
      - uses: actions/upload-artifact@v4
        if: always()
        with:
          name: test-results
          path: test-results/

Manual Workflow Trigger

  1. Go to GitHub Actions tab
  2. Select "Playwright Cucumber Tests"
  3. Click "Run workflow"
  4. Choose:
    • Environment (dev/staging/prod)
    • Browser (chromium/firefox/webkit/all)
    • Parallel workers (1-8)

Other CI/CD Platforms

Jenkins:

pipeline {
    agent any
    stages {
        stage('Test') {
            steps {
                sh 'npm ci'
                sh 'npx playwright install --with-deps'
                sh 'npm run test:ci'
            }
        }
        stage('Report') {
            steps {
                publishHTML([
                    reportDir: 'test-results/reports',
                    reportFiles: 'summary.html',
                    reportName: 'Test Report'
                ])
            }
        }
    }
}

GitLab CI:

test:
  image: mcr.microsoft.com/playwright:latest
  script:
    - npm ci
    - npm run test:ci
  artifacts:
    paths:
      - test-results/
    when: always

🎯 Best Practices

Test Organization

βœ… Group tests by feature/domain βœ… Use meaningful, descriptive scenario names βœ… Tag appropriately (@smoke, @regression, @api, etc.) βœ… Keep scenarios focused and independent βœ… Use Background for common setup

Page Objects

βœ… One class per page/component βœ… Encapsulate all selectors βœ… Return promises consistently βœ… Add comprehensive JSDoc comments βœ… Use meaningful method names

Test Data

βœ… Use static data for known scenarios βœ… Generate dynamic data for variety/uniqueness βœ… Never commit real credentials βœ… Use environment-specific data βœ… Keep test data DRY

Visual Testing

βœ… Mask dynamic content (dates, counters, ads) βœ… Run on consistent environment βœ… Update baselines intentionally βœ… Test multiple viewports βœ… Use descriptive snapshot names

Performance Testing

βœ… Set realistic performance budgets βœ… Test on representative hardware βœ… Block unnecessary resources βœ… Monitor trends over time βœ… Test both cold and warm loads

Accessibility Testing

βœ… Test every page and component βœ… Aim for WCAG AA minimum βœ… Fix critical issues first βœ… Test with keyboard navigation βœ… Validate with screen readers

Mobile Testing

βœ… Test on real device viewports βœ… Test portrait and landscape βœ… Emulate real network conditions βœ… Test touch interactions βœ… Cover iOS and Android

CI/CD

βœ… Run smoke tests on every commit βœ… Run full regression nightly βœ… Archive test artifacts βœ… Monitor quality metrics βœ… Fail builds on critical issues


πŸ“š Documentation

  • README.md - This comprehensive guide

πŸ› Troubleshooting

Common Issues

Browsers not found:

npx playwright install --with-deps

TypeScript errors:

npm run compile

Tests failing randomly:

# Increase timeout
TIMEOUT=60000 npm test

# Reduce parallel workers
PARALLEL_WORKERS=1 npm test

# Check for race conditions

Visual tests failing:

# View diffs
open test-results/screenshots/snapshots/*-diff.png

# Update baselines if intentional
npm run snapshots:update

Performance tests slow:

# Check network conditions
# Block unnecessary resources
npm run test:blocked

Accessibility violations:

# View detailed report
cat test-results/accessibility/a11y-report.json

# Fix critical issues first
npm run test:accessibility

Getting Help

  1. Check documentation files
  2. Review logs: logs/combined.log
  3. View traces: npx playwright show-trace
  4. Create GitHub issue with:
    • Error message
    • Steps to reproduce
    • Environment details
    • Relevant logs

🀝 Contributing

Contributions are welcome! Please follow these steps:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Make your changes
  4. Run tests (npm test)
  5. Commit your changes (git commit -m 'Add amazing feature')
  6. Push to the branch (git push origin feature/amazing-feature)
  7. Open a Pull Request

Contribution Guidelines

  • βœ… All tests must pass
  • βœ… Follow TypeScript best practices
  • βœ… Add tests for new features
  • βœ… Update documentation
  • βœ… Follow existing code style
  • βœ… Write clear commit messages

πŸ“œ License

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


πŸ™ Acknowledgments


πŸ“ž Support


πŸŽ‰ Quick Start Summary

# 1. Install
npm install
npx playwright install

# 2. Configure
cp .env.example .env

# 3. Run tests
npm test

# 4. View reports
npm run report

# 5. Try advanced features
npm run test:visual
npm run test:performance
npm run test:accessibility
npm run test:mobile

Built with ❀️ by QA Engineers, for QA Engineers

If this framework helped you, please consider giving it a ⭐️

Documentation β€’ Commands β€’ Examples β€’ Contributing


Framework Version: 1.0.0
Last Updated: 2025-11-05
Status: Production Ready βœ…

About

Production-ready test automation framework using Playwright & Cucumber BDD with TypeScript. Features parallel execution, multi-browser support, comprehensive logging, and CI/CD integration.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages