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: Instantly bootstraps a full Playwright project
- Organized Structure: Separates E2E, frontend, backend tests using POM
- Multi-browser: Pre-configured for Chromium, Firefox, and WebKit
- Dynamic Test Data: Faker.js for realistic mock data
- TypeScript Ready: Fully configured for TypeScript and TS-Node
- Fixtures & Utils: Common helper structures and environment setup
- Custom Location: Use
--pathto generate your project anywhere - Safe Execution: Preview with
--dry-run, force overwrite with--force
🔧 Prerequisites
Make sure the following are installed:
- Python 3.7+
- Node.js v18+
- npm
- pipx
Install pipx if missing:
python3 -m pip install --user pipx
python3 -m pipx ensurepath
🚀 Installation (Recommended via pipx)
pipx install qa-project-gen
Now you can run the CLI globally:
qa-gen my-playwright-project
🛠️ Command Options
qa-gen <project-name> [options]
Options:
--force Overwrite existing files if they exist
--dry-run Show what would be created without writing to disk
--clean Remove generated folders and files from a project
--path <dir> Set the folder where the project should be created
📌 Usage Examples
# Create a new Playwright project
qa-gen my-test-project
# Create at a specific location
qa-gen my-project --path /home/user/qa-projects
# Simulate project creation without making changes
qa-gen temp-project --dry-run
# Overwrite files in an existing project folder
qa-gen demo-project --force
# Clean up an old project
qa-gen demo-project --clean --path /home/user/old-projects
📁 Generated Project Structure
my-test-project/
├── playwright.config.ts # Playwright configuration
├── tsconfig.json # TypeScript configuration
├── package.json # Node.js metadata
├── .gitignore # Ignore rules
├── README.md # Template documentation
└── tests/
├── e2e/ # End-to-end specs
├── front_end/feature_one/ # UI/FE tests
├── back_end/feature_one/ # API/BE tests
└── support/
├── POMs/feature_one/ # Page Object Models
└── utils/ # Shared test utilities
├── helpers.ts
├── test-data.ts
└── fixtures.ts
📦 What Gets Installed (via npm)
The CLI installs and configures:
playwright— Browser automation@playwright/test— Test runner and assertion librarytypescript— TypeScript language supportts-node— TypeScript execution in Node@faker-js/faker— Fake test datadotenv— Environment variable support
✅ Running Tests
Once your project is generated:
cd my-test-project
# Run all tests
npx playwright test
# Run specific suite
npx playwright test tests/front_end
# Run with browser UI
npx playwright test --headed
# View test results
npx playwright show-report
🧠 Notes
- If using Linux or WSL and
venvis missing:sudo apt install python3-venv
- If you’re in a restricted environment (like Debian or Ubuntu), use
pipxinstead of globalpipto avoid permission issues. - Avoid
sudo pip installto prevent breaking system packages.
Built with ❤️ to help QA Engineers get started faster and test better.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file qa_project_gen-0.1.7.tar.gz.
File metadata
- Download URL: qa_project_gen-0.1.7.tar.gz
- Upload date:
- Size: 10.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9597ee138a1ea0d242bed195bce1f416178d527783aa48c2ae7f037596cc7423
|
|
| MD5 |
e477e3965a86bde9a8ba06cdf9dc123f
|
|
| BLAKE2b-256 |
13a43a4a240d0cb6aa62f9cfe93bde4bec180ab22528cac5985a3859ae276ca0
|
File details
Details for the file qa_project_gen-0.1.7-py3-none-any.whl.
File metadata
- Download URL: qa_project_gen-0.1.7-py3-none-any.whl
- Upload date:
- Size: 12.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c4d09880e8f08b6993179267bb3cccb3547bfb7cb84508a26bbaf598637dc496
|
|
| MD5 |
b4181281128444226d893454d9199554
|
|
| BLAKE2b-256 |
53d4a32b75626cd8f91473177fc37f69aa754d2d60d04b8666de9056852f55a6
|