A CI-friendly custom reporter for Playwright tests with enhanced logging.
npm install playwright-ci-reporterA 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.
- šØ 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
Install the package using npm:
``bash`
npm install playwright-ci-reporter
---
Integrate the playwright-ci-reporter into your Playwright configuration file (playwright.config.ts):
`typescript
import {defineConfig} from '@playwright/test';
export default defineConfig({
testDir: './tests', // Adjust to your test directory
retries: 2, // Example of using retries
reporter: [['playwright-ci-reporter']],
use: {
trace: 'on-first-retry', // Example: trace only on retries
video: 'on-first-retry',
screenshot: 'only-on-failure',
},
});
`
---
`plaintext
š 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.
`
`plaintext
š 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)
`
---
We welcome contributions! Here's how you can help:
1. Fork the repository
2. Create your feature branch:
`bash`
git checkout -b feature/amazing-feature
`
3. Make your changes and commit them:
bash`
git commit -m 'Add some amazing feature'
`
4. Push to your fork:
bash``
git push origin feature/amazing-feature
5. Open a Pull Request
Please ensure your PR:
- Follows the existing code style
- Includes appropriate tests
- Updates documentation as needed
- Describes the changes made
---
This project is licensed under the MIT License - see the LICENSE file for details.
---
- 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