Package Exports
- testgenius-ai
- testgenius-ai/dist/bin/testgenius.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (testgenius-ai) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
🧠 TestGenius AI
🚀 The Ultimate E2E Testing Framework for QA Engineers
No coding required • AI-powered automation • Beautiful reports • Zero complexity
✨ What Makes TestGenius Special?
| 🎯 For QA Engineers | 🚀 For Developers | 🎨 For Everyone |
|---|---|---|
| • No programming skills needed | • TypeScript support | • Beautiful HTML reports |
| • Interactive test recording | • Flexible configuration | • Auto-screenshots on failure |
| • Simple test objects | • Extensible framework | • Cross-platform support |
| • One-command setup | • Custom test runners | • Zero dependencies |
🎬 See It In Action
📋 List Your Tests
testgenius list🚀 Run Tests
testgenius run AUTH-001📊 View Reports
testgenius report🚀 Quick Start (3 Steps)
1️⃣ Install
npm install -g testgenius-ai2️⃣ Initialize
testgenius initCreates everything you need automatically!
3️⃣ Start Testing
testgenius record # Record a new test
testgenius run # Run all tests
testgenius report # View results📝 Writing Tests (Super Simple!)
🎯 Test File Structure
Create files in tests/ directory:
// tests/login-tests.js
module.exports = [
{
id: "LOGIN-001",
name: "Successful Login Test",
description: "Test login with valid credentials",
priority: "High",
tags: ["authentication", "login", "smoke"],
site: "https://example.com/login",
testData: {
username: "testuser@example.com",
password: "securepassword123"
},
task: "Navigate to login page, enter credentials, click login, verify dashboard access"
},
{
id: "LOGIN-002",
name: "Failed Login Test",
description: "Test login with invalid credentials",
priority: "Medium",
tags: ["authentication", "login", "validation"],
site: "https://example.com/login",
testData: {
username: "invalid@example.com",
password: "wrongpassword"
},
task: "Navigate to login page, enter invalid credentials, verify error message appears"
}
];🎬 Interactive Test Recording
Don't want to write tests manually? Use the recorder!
testgenius recordFollow the prompts and TestGenius will create your test automatically!
🛠️ Essential Commands
| Command | What It Does | Example |
|---|---|---|
testgenius init |
🚀 Setup your project | testgenius init |
testgenius record |
🎬 Record a new test | testgenius record |
testgenius list |
📋 Show all tests | testgenius list |
testgenius run |
🚀 Run all tests | testgenius run |
testgenius run <id> |
🎯 Run specific test | testgenius run LOGIN-001 |
testgenius report |
📊 View results | testgenius report |
🎨 Test Examples
🔐 Authentication Tests
// tests/auth-tests.js
module.exports = [
{
id: "AUTH-001",
name: "User Registration",
priority: "High",
tags: ["registration", "signup"],
site: "https://myapp.com/register",
testData: {
email: "newuser@example.com",
password: "SecurePass123!",
confirmPassword: "SecurePass123!"
},
task: "Fill registration form, submit, verify welcome message"
}
];🛒 E-commerce Tests
// tests/ecommerce-tests.js
module.exports = [
{
id: "ECOMM-001",
name: "Add to Cart",
priority: "High",
tags: ["cart", "purchase"],
site: "https://shop.example.com",
testData: {
productName: "Test Product",
quantity: "2"
},
task: "Search for product, add to cart, verify cart count increases"
}
];📱 Mobile/Responsive Tests
// tests/mobile-tests.js
module.exports = [
{
id: "MOBILE-001",
name: "Mobile Menu Navigation",
priority: "Medium",
tags: ["mobile", "responsive"],
site: "https://example.com",
testData: {},
task: "Open mobile menu, navigate through items, verify smooth transitions"
}
];🎯 Advanced Features
🤖 AI-Powered Test Execution
- Smart element detection
- Automatic retry logic
- Intelligent error handling
- Context-aware actions
📊 Beautiful Reporting
- HTML reports with screenshots
- Test execution timeline
- Pass/fail statistics
- Performance metrics
🔧 Flexible Configuration
// testgenius.config.js
module.exports = {
browser: 'chrome', // chrome, firefox, safari, edge
headless: false, // true for CI/CD
timeout: 30000, // 30 seconds
screenshotOnFailure: true, // Auto-screenshots
reportPath: './reports', // Custom report location
logLevel: 'info' // debug, info, warn, error
};🚨 Troubleshooting
❌ "Command not found: testgenius"
Solution: Add npm global bin to your PATH
For macOS/Linux:
# Find your npm global path
npm bin -g
# Add to your shell config (~/.zshrc or ~/.bashrc)
export PATH="$PATH:$(npm bin -g)"
# Reload shell
source ~/.zshrc # or source ~/.bashrcFor Windows:
# Add to PATH environment variable
%APPDATA%\npm❌ "Test not found"
Check:
- ✅ Test file is in
tests/directory - ✅ Export format is correct:
module.exports = [ {...} ] - ✅ Test ID is unique
- ✅ Run
testgenius listto see all available tests
❌ "Wrong export format"
❌ Wrong:
module.exports = {
TEST_1: { id: "TEST-1", ... },
TEST_2: { id: "TEST-2", ... }
};✅ Correct:
module.exports = [
{ id: "TEST-1", ... },
{ id: "TEST-2", ... }
];🎉 Success Stories
"TestGenius made our QA process 10x faster. No more complex Selenium setup!" — Sarah, Senior QA Engineer
"Finally, a testing tool that doesn't require a computer science degree!" — Mike, QA Lead
"The interactive recorder is a game-changer for our team." — Lisa, Test Automation Specialist
🤝 Contributing
We love contributions! Here's how you can help:
- 🐛 Report bugs - Create an issue
- 💡 Suggest features - Start a discussion
- 📝 Improve docs - Submit a pull request
- ⭐ Star the repo - Show your support!
📚 Resources
- 📖 Wiki - Detailed guides and examples
- 🎥 Video Tutorials - Step-by-step videos
- 💬 Community - Ask questions and share tips
- 🐛 Issues - Report bugs and request features
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.