Playwright CI Reporter
A modern, maintainable custom reporter for Playwright tests that enhances your test output with colorized results, comprehensive metrics, and intelligent failure analysis. Perfect for CI/CD pipelines and local development.
โจ Features
-
๐จ Smart Colorized Output:
- โ
Passed tests (Green)
- โ Failed tests (Red)
- ๐ Retry attempts (Yellow)
- โ ๏ธ Skipped tests (Gray)
- ๐ Test run status (Bright Magenta)
-
๐ Comprehensive Metrics:
- Total execution time with smart formatting
- Average test duration analysis
- Slowest test identification
- Top slowest tests ranking
- Pass/fail/skip statistics
-
๐ Advanced Features:
- Configurable slow test thresholds
- Timeout warnings
- Stack trace controls
- Retry attempt tracking
- Manual testing reminders for skipped tests
-
๐ Intelligent Reporting:
- Detailed failure analysis
- Clear error messages
- Formatted stack traces
- Test timing insights
- Skipped test warnings
๐ Installation
Install the package using npm:
npm install playwright-ci-reporter
Usage
Integrate the playwright-ci-reporter
into your Playwright configuration file (playwright.config.ts
):
import {defineConfig} from '@playwright/test';
export default defineConfig({
testDir: './tests',
retries: 2,
reporter: [['playwright-ci-reporter']],
use: {
trace: 'on-first-retry',
video: 'on-first-retry',
screenshot: 'only-on-failure',
},
});
๐ Output Examples
Successful Run
๐ Starting test run: 3 tests using 2 workers
โ
Login test passed in 1.23s
โ
API integration test passed in 2.45s
โ ๏ธ Payment test was skipped
โ
All 3 tests passed | 1 skipped | โฑ Total: 3.68s
Additional Metrics:
- Average passed test time: 1.84s
- Slowest test took: 2.45s
- Top 3 slowest tests:
1. API integration test: 2.45s
2. Login test: 1.23s
โ ๏ธ Warning: 1 test was skipped.
Please ensure to test the skipped scenarios manually before deployment.
Failed Run
๐ Starting test run: 3 tests using 2 workers
โ
Login test passed in 1.23s
โ API test failed in 2.45s
๐ Retry attempt for "API test" (failed) in 2.50s
โ ๏ธ Payment test was skipped
โ 1 of 3 tests failed | 1 passed | 1 skipped | โฑ Total: 6.18s
Failures:
--- Failure #1 ---
Test: API test
Stack Trace:
at Connection.connect (/src/api/connection.ts:45:7)
๐ค Contributing
We welcome contributions! Here's how you can help:
- Fork the repository
- Create your feature branch:
git checkout -b feature/amazing-feature
- Make your changes and commit them:
git commit -m 'Add some amazing feature'
- Push to your fork:
git push origin feature/amazing-feature
- Open a Pull Request
Please ensure your PR:
- Follows the existing code style
- Includes appropriate tests
- Updates documentation as needed
- Describes the changes made
๐ License
This project is licensed under the MIT License - see the LICENSE file for details.
๐ Acknowledgments
- Built with Playwright
- Inspired by the need for better test reporting in CI/CD pipelines
- Thanks to all contributors who help make this reporter better