AI-powered browser testing framework using natural language and OpenAI
Project description
Agentic Test Framework
An AI-powered browser testing framework that accepts natural language test descriptions and executes them using Playwright.
Quick Start
# Create and activate virtual environment
python3 -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# Install the package
pip install agentic-test-framework
# Install Playwright browsers
playwright install
# Set up environment
cp .env.example .env
# Edit .env and add your OpenAI API key
# Run an example test
python -m agentic_test_framework "Go to example.com and take a screenshot"
Features
- 🤖 Natural Language Tests: Write tests in plain English
- 🌐 Browser Automation: Powered by Playwright (Chrome, Firefox, Safari)
- 🧠 AI-Driven: Uses OpenAI to interpret test scenarios
- 📸 Auto Screenshots: Captures screenshots on demand or for every step
- 📊 Dual Reporting: Custom HTML reports + Playwright trace viewer
- 🎬 Time-Travel Debugging: Playwright traces with DOM snapshots, network logs, console output
- 🎥 Video Recording: Automatic video capture of test execution
- ✅ Assertions: Verify conditions and extract data
- 🔄 Smart Retries: Handles flaky elements automatically
- 📝 ATC Format: Structured test files with YAML-like syntax
Example Tests
Command Line
# Simple navigation
agentic-test "Go to google.com and search for 'playwright testing'"
# Multi-step workflow
agentic-test "Navigate to github.com, click Sign in, type 'testuser' in username field"
# Validation
agentic-test "Go to example.com, verify the page title contains 'Example', take screenshot"
ATC File Format
Create structured test files with .atc extension:
# Login Test Suite
@config browser=chromium
@config headless=false
## Scenario: Successful Login
@tag smoke
@tag login
Go to example.com/login
Type 'testuser' into username field
Type 'password123' into password field
Click login button
Verify page contains 'Welcome'
Take a screenshot
Quick Start: Generate ATC Templates
# Create basic template
agentic-test --create tests/my_test.atc
# Create from predefined templates
agentic-test --create tests/login.atc --template login
agentic-test --create tests/shop.atc --template ecommerce
agentic-test --create tests/api.atc --template api
Available templates:
- basic - Simple test structure
- login - Login/authentication flows
- ecommerce - Shopping and checkout flows
- api - API/integration tests
Run ATC files:
# Run all scenarios
agentic-test tests/login.atc
# Run specific scenario
agentic-test tests/login.atc --scenario "Successful Login"
# Run by tag
agentic-test tests/login.atc --tag smoke
See docs/ATC_FORMAT.md for complete format specification.
Architecture
Natural Language → OpenAI Parser → Action Objects → Playwright Executor → Results
See .github/copilot-instructions.md for detailed architecture documentation.
Project Structure
agentic-test-framework/
├── agentic_test_framework/
│ ├── actions/ # Action type definitions
│ ├── parser/ # OpenAI integration
│ ├── executor/ # Playwright execution engine
│ ├── runner/ # Test orchestration
│ └── reporter/ # HTML report generation
├── config/ # Configuration files
├── examples/ # Example test scenarios
├── docs/ # Documentation
└── tests/ # Framework tests
HTML Reports
Every test automatically generates a beautiful HTML report with:
- ✅ Pass/fail status for each step
- 📸 Embedded screenshots
- 📊 Extracted data
- ⏱️ Execution timing
- 🎨 Color-coded results
Reports are saved to test-results/report_YYYYMMDD_HHMMSS.html
See docs/HTML_REPORTS.md for details.
Development
Running Unit Tests
The framework includes a comprehensive test suite with pytest:
# Run all tests
pytest
# Run with verbose output
pytest -v
# Run with coverage report
pytest --cov=agentic_test_framework --cov-report=html
# Run specific test file
pytest tests/test_actions.py
# Open coverage report in browser
xdg-open htmlcov/index.html # Linux
open htmlcov/index.html # macOS
See tests/README.md for detailed testing documentation.
License
MIT
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 agentic_test_framework-0.1.3.tar.gz.
File metadata
- Download URL: agentic_test_framework-0.1.3.tar.gz
- Upload date:
- Size: 31.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fd3a5776229b0b3a41b58c8621116bb88609de2581ce462ac601ab71e22f074b
|
|
| MD5 |
b1620e6b1aaa1af19b681533a5e1e8b8
|
|
| BLAKE2b-256 |
299599595c18fe36ae845ea777c2a88ed4e33f1e8a5d4fa50b5d47c0524628df
|
File details
Details for the file agentic_test_framework-0.1.3-py3-none-any.whl.
File metadata
- Download URL: agentic_test_framework-0.1.3-py3-none-any.whl
- Upload date:
- Size: 28.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
10f72f867fdd315f5a86cd671272c5c443bc6691c1c4557ccc1a1180c0b592be
|
|
| MD5 |
e90174cd8cd3b037bcc487aa04fe098b
|
|
| BLAKE2b-256 |
308e00a2e898be38d637f649afa43f625f727b56fe1e234432a55ca54ae9d0be
|