BDD and Python automation with pytest-bdd

pytest-bdd is a tool that is used in many a Python-based test automation solution nowadays. Having experience in working with pytest-bdd is therefore a valuable addition to the skill set of any tester and developer working in a Python ecosystem.

Even more important is the knowledge of what pytest-bdd can and cannot do for you, and how to use it in the most efficient and effective manner. And that’s exactly what this course will teach you!

Course contents
This course covers, among other things:

  • Why pytest-bdd can be a useful addition to your automation efforts, even if you’re not following BDD
  • When using pytest-bdd might not be the best idea
  • Setting up pytest-bdd for your automation project
  • Writing features and scenarios
  • Creating step definitions
  • Mapping steps to step definitions using regular expressions
  • Cleaning up your scenarios and code using Background and Scenario Outlines
  • Using hooks
  • Combining pytest-bdd and automation at the UI level with Selenium WebDriver
  • Reporting options

There’s no better way to learn than by doing, so you’ll be presented with a variety of hands-on (programming) exercises throughout this course.

Intended audience and prerequisite knowledge
This course is aimed at testing practitioners that want to learn more about using pytest-bdd as part of their Python automation code, and to make sure that they get the most out of doing so. Some previous exposure to object-oriented software development and test automation will make it easier for you to follow along.

Delivery and group size
I currently offer this course in person, on site only. The maximum group size is 12.

This course takes one working day.

If you would like to book me to teach this course in your organization, or if you have any additional questions, please send an email to or use the contact form on this page.

For an overview of all training courses I have on offer, please visit the main training page.