There are currently no items in your shopping cart.

User Panel

Forgot your password?.

Cucumber BDD with Python 3 Behave and Selenium WebDriver

Video Introducing this tutorial

Introduction :
Introduction To The Course
About The Provided Course Code
Content List - Description of sections/lectures of the course
Introduction to BDD, Gherkin and Behave

Installations :
Installing Python - Mac
Installing Python - Windows
About Virtual Environment
Creating virtual environment on Mac (demo)
Creating virtual environment on Windows (demo)
Installing Pycharm / IDE
Add Virtual Environment to PyCharm
Add Gherkin Plugin to PyCharm
Installing Behave and Selenium

BDD Components and Basic Examples :
Folder structure or layout (Discussion)
Folder structure or layout (Demo/Example)
Feature File
Step definition File
Running 1 file (discussion)
Running 1 file (demo)
Running all files (discussion)
Running all files (demo)
Review Please!
Displaying Output
More on Output
‘Given’, ‘Then’, ‘When’, ‘And’, ‘But’

Passing Parameters to Steps :
Passing Parameters to Steps (discussion)
Passing Parameters to Steps (demo)

Sharing Data Between Steps :
Sharing Data Between Steps (discussion)
Sharing Data Between Steps (demo)

Time for Practical Examples :
Practical Examples Discussion
Project Setup Overview
Test Cases Group 1 Part 1 (
Test Case Group 1 Part 2 (
Using custom config file
Test Case Group 3 (more config examples)

Setup and Teardown :
Setup and Teardown (discussion)

Scenario Outlines :
Scenario Outline (discussion)
Scenario Outline (demo)

Using Tags :
Using Tags (discussion)
Using Tags (demo)

Cucumber Behave Report Generation :
Generating Behave Reports Overview
How to Output Junit Compatible xml
How to Output JSON Report
How to Generate Allure Report
How to Generate Custom Report

Other Behave Core features :
Calling Steps in Other Step definitions
Passing User Data From Command Line
Passing String to Step Definition
"--exclude" How to Exclude Test by File Name
"-f rerun" Retry Failed Tests (Rerun Failed Scenarios)
"--stop" Stop Execution at First Failure
"--dry-run" Run without Running

Runner Script :
Runner Python Script to Run Tests
Runner Python script - continued (Parameterize)
Runner Python script - continued (Unique Test Id)
Runner Python script - continued (Output directory)
Runner Python script - continued (WebDrivers)

BDD Automation Practice Section :
Introduction to Practice Section
*TCID-10-1 (FE) Valid user should be able to login (Framework Setup)
*TCID-10 - 2 (Continued) Valid user should be able to login
*TCID-10 - 3 (FE) (Continued) Valid user should be able to login
*TCID-10 - 4 (FE) (Continued) Valid user should be able to login
Housekeeping - Same Files New Project in PyCharm
TCID-11 (FE) User with wrong password should get correct error message
TCID-12 (FE) User with none-existing email should get correct error message
*Backend Helper - http GET method
*Backend Helper - http POST method
*Credentials Management
*Backend Helper - Database Helper
*TCID-24-1 (BE) Verify 'GET /products' returns all products
*TCID-24-2 (BE) Verify 'GET /products' returns all products
Assignment Solution: Get all pages of products
*TCID-25 (BE) Verify 'products/id' returns a product with the given id
*TCID-29-1 (BE) Verify 'POST /customers' creates user
*TCID-29-2 (BE) Verify 'POST /customers' creates user
*TCID-29-3 (BE) Verify 'POST /customers' creates user
TCID-33-1 (FE) New user place order with 1 item without creating account
TCID-33-2 (FE) @Given("I add 1 item to cart")
TCID-33-3 (FE) @Given("I click on cart in nav bar")
TCID-33-4 (FE) @When("I select 'Free Shipping' option")
TCID-33-5 (FE) @When("I click on 'Proceed to checkout' button")
TCID-33-6 (FE) @When("I verify 'Checkout' page is loaded")
TCID-33-7 (FE) @When("I fill in the billing details form")
TCID-33-8 (FE) @When("I click on 'Place order' button")
TCID-33-9 (FE) @Then("the 'Order received' page should load")
TCID-33-9-1 (FE) Error in step 9?
TCID-33-9-2 (FE) Solution to Error in step 9
TCID-33-10 (FE) @Then("I verify order is created in database")
Selenium Implicit Wait
* How to run WebDriver in headless browser (headless Chrome)
TCID-36 to 40 - 1 (BE) @Given('I create a "" coupon')
TCID-36 to 40 - 2 (BE) @Then(' the coupon should exist in database')
TCID-43 (BE) Verify coupon metadata recorded correctly
TCID-44-1 (FE) 50% off cart coupon should discount 50% of the cart
TCID-44-2 (FE) Add items to cart and get total
TCID-44-3 (FE) @when(‘I get a valid 50% off coupon’)
TCID-44-4 (FE) @when(‘I apply the coupon to the cart’)
TCID-44-5 (FE) @then(‘the total should be reduced by 50%’)

Conclusion :

Introduction to the SQL Crash Course
Introduction to SQL
Setup Database and Data
SQL SELECT Query (Reading Data)
SQL SELECT Query Continued
SQL SELECT Query Continued 2
SQL IN Clause
Intro to SQL JOIN
SQL Special Functions
SQL Crash Course Conclusion

BONUS SECTION: Create E-Commerce Site on Local Machine To Practice Testing :
Intro to "Creating E-Commerce Site Locally"
Options to Run Wordpress
Running WordPress with MAMP
Install 'Local'
Creating the site
Install theme
Install plugin (WooCommerce)
Adding sample products
Setup Home Page and Registration
Use 'Coupons' to checkout
Checkout with "Cash on Delivery"
Setup and Test WooCommerce Rest API
Connecting to Database
Conclusion of Section