This project demonstrates automated testing of the Heroku web application using Playwright for browser automation and Reqnroll for BDD-style test specifications.
- Browser Automation: Uses Playwright for reliable and fast browser automation
- BDD Testing: Implements Behavior-Driven Development using Reqnroll
- Comprehensive Reporting:
- Allure Reports for detailed test execution reports
- Screenshots on test failure
- Video recordings of test execution
- Browser traces for debugging
- Detailed logs for each test scenario
- CI/CD Integration: GitHub Actions workflow for automated testing
- Modern Tech Stack:
- .NET 8.0
- Playwright 1.41.2
- Reqnroll 2.4.0
- NUnit 3.14.0
- Allure Reports 2.11.0
HerokuAutomation_Playwright_Reqnroll/
├── Artifacts/ # Test execution artifacts
│ ├── Logs/ # Scenario execution logs
│ ├── Screenshots/ # Failure screenshots
│ ├── Traces/ # Browser traces
│ ├── Videos/ # Test execution videos
│ └── Reports/ # Allure reports
├── Config/ # Configuration files
│ └── TestConfiguration.cs # Test settings and paths
├── Features/ # Reqnroll feature files
├── Hooks/ # Test hooks and setup
│ └── PlaywrightHooks.cs # Browser and test lifecycle management
├── Pages/ # Page object models
├── Steps/ # Step definitions
└── Utils/ # Utility classes
- .NET 8.0 SDK
- Node.js (for Playwright installation)
- Git
-
Clone the repository:
git clone https://github.com/yourusername/HerokuAutomation_Playwright_Reqnroll.git cd HerokuAutomation_Playwright_Reqnroll -
Install dependencies:
dotnet restore dotnet build
-
Install Playwright browsers:
npx playwright install
Run all tests:
dotnet testRun specific feature:
dotnet test --filter "FullyQualifiedName~YourFeatureName"-
Generate Allure report:
allure serve bin/Debug/net8.0/allure-results
-
View traces:
npx playwright show-trace Artifacts/Traces/trace_your_scenario.zip
The test execution generates several types of artifacts:
- Logs: Detailed execution logs for each scenario
- Screenshots: Automatic screenshots on test failure
- Videos: Recordings of test execution
- Traces: Browser traces for debugging
- Allure Reports: Comprehensive test execution reports
All artifacts are stored in the Artifacts directory at the project root.
The project includes a GitHub Actions workflow that:
- Runs on pull requests and pushes to main
- Installs dependencies
- Runs tests
- Generates and publishes Allure reports
- Handles artifacts
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
