A robust BDD automation framework built with C#, leveraging Reqnroll (SpecFlow fork), Selenium WebDriver, Page Object Model (POM), Allure reporting, and GitHub Actions CI/CD.
- Uses Reqnroll for Behavior-Driven Development.
- Write feature files in Gherkin syntax for clear, business-readable test scenarios.
- Step definitions are implemented in C# for seamless integration with the application logic.
- Environment-specific data (e.g., browser, base URL, credentials) is maintained in a single
environment.properties
file underresources/
. - The
Setup
helper class loads these properties at runtime, making it easy to switch environments or update test data without code changes.
- Implements the Page Object Model design pattern for maintainable and reusable UI automation.
- Each page (e.g.,
LoginPage
,MyInfoPage
,LogoutPage
) encapsulates its elements and actions. - Centralized object management via the
Objects
container.
- Generates rich, interactive test reports using Allure.
- Allure is configured via the
Allure.Reqnroll
NuGet package.
- Uses log4net for detailed logging.
- Log configuration is managed in
Config/LoggerConfigure.xml
. - Logs are written to the
Logs/
directory in the test output, capturing key events and errors.
- Automated test execution via GitHub Actions.
- Allure reports are published to GitHub Pages after each workflow run.
- Uses WebDriverManager to automatically download and manage browser drivers.
- No manual driver setup required;
- Clone the repository
- Run tests using your preferred test runner (e.g., Visual Studio Test Explorer,
dotnet test
). - View Allure reports locally or via GitHub Pages after CI runs.
- To view Allure reports locally, run the following command in the terminal:
- allure generate allure-results -o allure-report
- allure open
- To view Allure reports on GitHub Pages,