
In this video I will go over the sections of the course and give a quick overview of each.
Sections introduce what BDD style is, what the Gherkin scripting language is and what ‘Behave’ framework is.
This section I will demo on how to install PyCharm. Which is an IDE for Python. You are free to use any IDE or text editor you prefer. If you already have an editor you like to use, then you can skip this section. Some options other than PyCharm are Notepad++ and Sublime.
We see how to enable PyCharm to use a virtual environment for our project. It will have access to installed libraries like Selenium and Behave.
We will look at a basic directory structure. How to set up our files so that behave will be able to find the test sand run them. We will use PowerPoint slides and discuss the concept.
We will look at creating the structure of our test framework. We will create folders that we will be using for the rest of the course. We will add more folders as needed throughout the course but here we will start with the bare minimum.
In this lecture we will get introduced to Feature files. Feature files are one of the major components of BDD style. We will discuss what Feature files look like, what they contain and what they are used for.
In this lecture we will get introduced to Steps directory and step definitions. Step directory and step definition files are the second critical components of BDD style. We will discuss what the steps directory is, why we need it, and how it is related to Feature files
This section discusses how to run a single feature file. A feature file tests one feature of an application. There may be multiple feature files in a directory. Behave have option of running all or just one file.
This section demo running of single feature time at a time. We will use the command line tool and run feature files.
This section discusses on how to run all feature files in a directory or sub-directory. We have seen how we can run a single feature file and now we see how to run all feature files.
This section demos running of all feature files in a directory and subcategories. We will use the command line tool to demo.
Discussion and demo off outputting information from the test to stdout. Behave offers few options on how the output should be displayed and we will explore on how to do so in this section.
Section to discuss and demo the main keywords we have seen already and additional key works that are “But” and 'And'.
This section is discussion of how to pass values from the steps to the step definitions. The feature file will have hard coded values which then the value will be used in the Python logic. Example, quantity, name of web element, url, ….
This section demos passing values from the feature file to the Python logic.
This section is a discussion of how data can be shared between steps. It is important that data generated in one step should be available in the next step. Example, if user is created in first step then the login step should have access to the user information.
In this section I will demo sharing of data between steps using running examples.
This lecture introduces our section of practical examples. Practical examples are when we write real tests that are run against real websites .
In this lecture we will see how our project is set up. What our directory structure looks like and what are the bare minimum directories we need for the project
In this lecture we will write and run a test case using BDD for the python.org site.
In this lecture we continue to write and run a test case using BDD for the python.org site.
This lecture covers on how to create our custom config file and why. Config file is used to make maintenance of code a lot easier. Information used in several places can be stored as a config and modifying information will be done only at one location.
In this lecture we continue to write another test case for python.org, but this time we will use config file to get a better understanding of why using config files is very efficient.
We will discuss how to do setup and teardown of our environment using behave. Setup and teardown run before and after each feature, scenario, step or more to prepare information for the test and then to destroy or reset information after the test.
Course Description
Learn how Cucumber BDD (Behavioral Driven Development/Test Driven Development) testing frameworks work. Learn how the pieces of Cucumber fall together and how frameworks are put together, as well as best practices of BDD. We will use the most popular and actively maintained Cucumber framework for Python BDD called 'Behave'. We will use PowerPoint presentation to convey the concepts on each topic and then write example code testing real scenarios with Selenium WebDriver as well as API testing.
We will build an E-commerce site on our local machine and practice writing real test cases both for front end with Selenium WebDriver and for the backend with Python, with full access to MySQL database of our site.
Critical addition to your resume
If you are getting into the QA world or you are looking to advance your career, having BDD testing skill will accelerate your success. Python is one of the most popular languages to use in software testing, and knowing how to use it with BDD style testing will expand your pool of possibilities.
In addition to using Python for BDD testing you will also get tips and guidance on best practices.
After completion of this course you will be able to go through interview as if you have BDD testing experience. You will also have a ready to go framework that you can continue to add test cases for practice and for your portfolio.
Content and Overview
In this course we will be using PowerPoint presentation to explain the concepts and then go to code in an IDE (PyCharm) for each topic. Some topics, we will go directly to code and start writing and executing.
We will install necessary packages for our framework. We will discuss the directory structure needed for our design, and then we will write and run test cases.
We will run how the BDD tests are written, how the work together and how to understand and control the output.
We will create an efficiently structured test framework and learn how to use Pythons logging module to produce readable reports.
What am I going to get from this course?
49 + lectures of BDD core concepts, examples and practice exercises (continuously adding more examples)
Plenty of test cases to use in your portfolio and to build bigger test suits on top of the course material
Enough material and examples to be able to create a project (BDD test framework) and maintain a GitHub repo
Specific features of the most popular BDD framework for Python called Behave
Practice using Selenium WebDriver functions with Python
Practice testing of Front-end with Selenium WebDriver BDD and Python
Practice testing of Back-end with Python