/aquality-selenium-dotnet-template

Template project for aquality-selenium-dotnet library.

Primary LanguageC#Apache License 2.0Apache-2.0

Build Status Quality Gate

This template provides an example project for NUnit and Specflow. To use it, you need to delete the unused project.

The Allure report is also used. If you don't need it, also delete it from the code.

Aquality Selenium Template Project

Template for aquality-selenium-dotnet library.

Project structure

  • Aquality.Selenium.Template - project related part with PageObjects, models and utilities
    • Browsers/: setting up start up
    • Configuration/: classes that used to fetch project config from Resources/Environment folder
    • Constants/: custom сonstants
    • CustomAttributes/: custom attributes
    • Elements/: page elements
    • Enums/: сommon enums for the project
    • Extensions/: сommon extensions for the project
    • Forms/: Page Objects
    • Logging/: setting up logging for Allure
    • Models/: classes that represent data models of the application under the test
    • Resources/: resource files such as configurations and test data
    • Utilities/: util classes
  • Aquality.Selenium.Template.NUnit - NUnit implementation of the tests
    • Constants/: constants for a NUnit project
    • Extensions/: extensions for the NUnit project
    • Resources/: resource files such as configurations and test data
    • Steps/: Nunit steps
    • Tests/: Nunit tests
  • Aquality.Selenium.Template.SpecFlow - SpecFlow implementation of the tests
    • Features/: Gherkin feature files with test scenarios
    • Hooks/: SpecFlow hooks
    • StepDefinitions/: step definition classes
    • Transformations/: SpecFlow data transformations

Configuration

settings.json file contains settings of Aquality Selenium library. Additional information you can find here.

allureConfig.json is a part of Allure Report configuration. See details here.

Tests execution

Scenarios from feature files can be executed with IDE or with .NET Core CLI dotnet test where you can specify all necessary arguments.

Reporting

Allure Framework is used as a reporting tool. Report data will be placed in {Environment.CurrentDirectory}/allure-results/ folder (you can change it in allureConfig.json file).

Run allure CLI command allure serve "{path_to_allure_results_directory}" to build and open report in web browser. To generate report in CI use corresponding plugin for your system.

License

Library's source code is made available under the Apache 2.0 license.