SpecFlow / Reqnroll BDD using Selenium WebDriver C#
Behaviour-Driven Development (BDD) has become a well established approach to testing, providing ‘living documentation’ of the system under test, and being able to use the documentation to drive the test automation. Our BDD courses teach you what BDD is all about, how to write your Gherkin Feature files, and then how to bind the test automation code to the features. To learn more about BDD visit this page.
The perfect introductory course on Behaviour-Driven Development. This course covers writing Feature Files in Gherkin, then generating Step Definitions and then writing the code bindings using Selenium WebDriver C#. The course does not aim to teach you Selenium WebDriver, just uses it as the automation tool example, so it is advised that you have done some WebDriver or sat on our WebDriver C# course. We can also provide a customised course including Selenium if you wish.
Technologies Used
This course uses SpecFlow or Reqnroll (depending on your preference), NUnit, and WebDriver C# all in Microsoft Visual Development Studio, .NET Core.
Course Delivery
The course is delivered online. It is live, instructor-led training over 3 days. Each day is an online session of approx. 3.5 hours. All delegates receive a comprehensive workbook, and the sessions are recorded. It can be accessed from anywhere in the world. We also offer on-site training at your offices if required.
Course Topics
Introduction to BDD
A background to BDD and its benefits. The process of BDD. An overview of the tools available, terminology.
Introduction to Gherkin
Feature Files, introduction to the Gherkin language, basic syntax
More Gherkin
Using the Background fixture, Parameters, Doc Strings, Examples and Data Tables, using Tags to organise execution, commenting
Installation of the Reqnroll Framework
Reqnroll Visual Studio plugin, installing the Reqnroll Libraries, WebDriver and other dependent libraries. Creating a project structure, creating a Feature File, formatting and execution of Feature Files
Step Definitions & Code Binding
Creating our Test Classes, Using prototype step definitions, fixing errors for executing feature files, creating step definition Methods, expanding Methods with Parameters
Deconstructing Step Definitions and Regular Expressions
Step Definition syntax, using both Regular and Cucumber Expressions, using multiple annotations for one Method, re-using Methods for more than one Scenario
Handling Tables
Scenario Outline, In-line Step Table Iterating
Hooks
Using before & after hooks to accelerate test writing.
Executing the Features
Using Test Explorer & Playlists, Using Tags, Results & Reporting, Command line execution, Reqnroll Fixtures for Execution Flow.
Sharing Data
Static vs Instance Fields, Context/Dependency Injection
Integrating SpecFlow into the POM
Using SpecFlow & WebDriver under the Page Object Model.
Continuous Integration
Building SpecFlow pipelines in Azure DevOps
Specflow to Reqnroll transition
Understanding the projects historic relationship and approaches to porting a legacy Specflow project to Reqnroll.
Related Courses: