Who Should Attend?
- Newcomers to BDD and SpecFlow
Attendees should have a basic understanding of writing Selenium WebDriver Scripts (we use C# bindings)
Some programming experience would be advantageous. The course is based on using WebDriver with C# & NUnit.
Exam Details
There is no exam as part of this course.
Objectives
- Understand the required Visual Studio Extensions and Libraries to use SpecFlow & WebDriver
- Understand how to structure your automated SpecFlow project
- Gain a full understanding of how to write good Gherkin and Step Definitions
- Understand how to refactor and re-use common Methods for Steps
Select a date
Please note: this course runs on demand so the price is TBC. It can be arranged to run on-site at your offices as Training for Teams or as a public course if there is sufficient interest.
Please contact us for more details.
Course Content and Agenda
This course covers nine key areas over two days:
- A background to BDD and its benefits
- The process of BDD
- An overview of the tools available
- Terminology
- Feature files
- Introduction to the Gherkin language
- Basic syntax
- Using the background fixture
- Parameters
- Doc Strings
- Examples and data tables
- Using tags to organise execution
- Commenting
- SpecFlow Visual Studio plugin
- Installing the SpecFlow libraries
- WebDriver and other dependent libraries
- Creating a project structure
- Creating a Feature File
- Formatting and execution of Feature Files
- Creating our Test Classes
- Using prototype step definitions
- Fixing errors for executing feature files
- Creating step definition Methods
- Expanding Methods with Parameters
- Step definition syntax
- Using Regular Expressions
- Using multiple annotations for one method
- Re-using methods for more than one scenario
- Scenario Outline
- In-line Step Table Iterating
- Using a base class with before & after hooks to accelerate test writing
- Using SpecFlow
- Using tags
- Results & reporting
- Command line execution
- SpecFlow fixtures for execution flow
- Simple Instance Fields, Context Injection
- Using SpecFlow & WebDriver under the Page Object Model
- Building SpecFlow pipelines in Azure DevOps