Skip to main content

No project description provided

Project description

Playwright Project Setup CLI Tool

A Python CLI tool that quickly scaffolds a complete Playwright test automation project with TypeScript, organized structure, and QA best practices.

Features

  • Quick Setup: Creates a full Playwright project in seconds
  • Organized Structure: Separates E2E, frontend, backend tests with POM pattern
  • Multi-browser: Pre-configured for Chromium, Firefox, and WebKit
  • Test Data: Faker.js integration for dynamic test data
  • TypeScript: Full TypeScript support with proper configuration
  • Best Practices: Includes fixtures, utilities, and Page Object Models
  • Custom Location: Use --path to specify where to generate your project
  • Safe Execution: Preview changes with --dry-run or force overwrites with --force

Prerequisites

  • Python 3.7+
  • Node.js 18+
  • npm

Installation & Usage

Option 1: Install via pip (Coming Soon)

pip install qa-gen
qa-gen my-project

Option 2: Clone and Run Locally

# Clone the repository
git clone https://github.com/yourusername/qa_automation_project_setup.git
cd qa_automation_project_setup

# Run the CLI tool
python main.py my-test-project

# With options
python main.py my-test-project --force --dry-run --path /your/target/path

Command Options

python main.py <project-name> [options]

Options:
  --force        Overwrite existing files
  --dry-run      Preview what would be created without making changes
  --clean        Remove generated files from a project
  --path <dir>   Choose custom path to generate the project

Examples

# Create a new project
qa-gen new-playwright-tests

# Use a custom location
qa-gen test-project --path /home/user/projects

# Preview without creating anything
qa-gen project-name --dry-run

# Overwrite an existing project
qa-gen my-existing-project --force

# Clean an existing project
qa-gen outdated-project --path /home/user/old_projects --clean

Generated Project Structure

my-test-project/
├── playwright.config.ts           # Playwright configuration
├── tsconfig.json                  # TypeScript configuration
├── package.json                   # Node.js dependencies
├── .gitignore                     # Git ignore patterns
├── README.md                      # Project documentation
└── tests/
    ├── e2e/                       # End-to-end tests
    ├── front_end/feature_one/     # Frontend UI tests
    ├── back_end/feature_one/      # Backend API tests
    └── support/
        ├── POMs/feature_one/      # Page Object Models
        └── utils/                 # Test utilities
            ├── helpers.ts         # Common functions
            ├── test-data.ts       # Test data with Faker.js
            └── fixtures.ts        # Playwright fixtures

What Gets Installed

The CLI automatically installs the following npm packages:

  • playwright - Browser automation framework
  • @playwright/test - Test runner and assertions
  • typescript - TypeScript support
  • ts-node - Run TS files directly
  • @faker-js/faker - Realistic test data
  • dotenv - Environment variables

Running Tests in Your New Project

cd my-test-project

# Run all tests
npx playwright test

# Run tests in a folder
npx playwright test tests/front_end

# Run with browser UI
npx playwright test --headed

# View the test report
npx playwright show-report

Built with ❤️ to help QA Engineers move faster and write better tests.

README generated with GPT-4.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

qa_project_gen-0.1.1.tar.gz (9.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

qa_project_gen-0.1.1-py3-none-any.whl (11.9 kB view details)

Uploaded Python 3

File details

Details for the file qa_project_gen-0.1.1.tar.gz.

File metadata

  • Download URL: qa_project_gen-0.1.1.tar.gz
  • Upload date:
  • Size: 9.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.12

File hashes

Hashes for qa_project_gen-0.1.1.tar.gz
Algorithm Hash digest
SHA256 7b24357666292690030d37b9b83067babee70bfebc5b7d09d1c734c226344974
MD5 b127264195677088c0c42ce55a8f3b74
BLAKE2b-256 6ff6f7d5466a39b696625e04de2a51ce9f46c8975d30f58fec23ead72245ca30

See more details on using hashes here.

File details

Details for the file qa_project_gen-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: qa_project_gen-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 11.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.12

File hashes

Hashes for qa_project_gen-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 8d9449a3b1a35d503ae57f2c2e73bb9c846b4ce3ed859c2f1e7dc5741f97333a
MD5 d945a324c018d38d567a023baec8a4bc
BLAKE2b-256 bc1617a431332021ed1362ded80e360f8884a0895bab88b11672f5d9970e1d6e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page