API Testing with Python 3 & PyTest Backend Automation 2022

Learn to build framework for API automation testing (backend testing) using Python and PyTest, SQL, Reports, Docker …
API Testing with Python 3 & PyTest Backend Automation 2022
File Size :
7.67 GB
Total length :
14h 1m



Admas Kinfu


Last update

Last updated 4/2022



API Testing with Python 3 & PyTest Backend Automation 2022

What you’ll learn

How to write API automation (backend automation) using Python 3
How to validate API response
How to build automation framework
BONUS: SQL Crash Course
How to validate database
How to generate reports for your tests (pytest-html, Allure, jUnit)
How to create a real eCommerce WordPress site locally
How to run tests in Docker container
How to use PyTest (most popular unit testing framework)

API Testing with Python 3 & PyTest Backend Automation 2022


Have basic knowledge of Python programming language
Have basic knowledge of software testing
Have sudo/admin access to your laptop to be able to install software


Course DescriptionLearn how to use Python to test the back-end of web services or APIs. We use industry standard real eCommerce RESTful API to practice testing using Python programming language.We will build a framework using one of the most popular testing tools PyTest. The framework we will build will be extendable and scalable to be able to include frontend (Selenium WebDriver) testing.The skills learned here are used in any Web Serivces testing.BONUS: SQL Crash CourseYou will learn how to use SQL to read and write to/from databases. We will use MySQL for our main test site so we will use the same database to learn SQL. SQL (sequel) is critical skill for any test engineer (manual or automation needs to know basic SQL).The crash course in SQL is short and precise. Topics only directly related to automation are covered. Great addition to your resume and interview process.Critical addition to your resumeIf you are getting into the QA world or you are looking to advance your career, having API 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 for API/Backend testing will expand your pool of possibilities.In addition to using Python for API/Backend testing, the tools we will use are great addition to your resume. We will be using industry standard tools that can be applied to several tasks beyond API testing.After completion of this course you will be able to go through interview as if you have API testing experience. You will also have plenty of APIs to test and practice.Content and OverviewIn this course we will spend some time creating an eCommerce application on our local machine. We will install a package that includes web server and database. Using this package we will install WordPress and install necessary plugins to make it an eCommerce application. The eCommerce application gives us all the APIs we will test. We have access to the database so we will test API data against the
database. We will create a efficiently structured test framework and
learn how to use Python to perform our verification.We will
also learn how to use a Python test runner tool “pytest” see why test
runner tools are critical for automation testing.What am I going to get from this course?35 + lectures (continuously adding more examples)Plenty of APIs (endpoints) for you to practice with      beyond this classEnough material and examples to be able to create a      project and maintain a GitHub repoIndustry standard tools to add to your resume. LikeMySQL WorkbenchAMPPS (package with Apache, MySQL, PHP, ….)WordPressWooCommerce


Section 1: Introduction To The Course

Lecture 1 Welcome To The Course

Lecture 2 Table Of Content

Lecture 3 Preview of End Result

Lecture 4 About The Test Site and Ecommerce API

Section 2: Installation and Setup of Tools

Lecture 5 Intro to Installation and Setup Section

Lecture 6 Installing Python On Mac

Lecture 7 Installing Python On Windows

Lecture 8 How to Use Virtual Environment

Lecture 9 Create Virtual Environment For The Course

Lecture 10 Install IDE (PyCharm)

Lecture 11 PyCharm Project & Virtual Environment

Lecture 12 Options To Run WordPress

Lecture 13 Running WordPress with MAMP

Lecture 14 Running WordPress with “Local”

Lecture 15 Install Plugin “WooCommerce”

Lecture 16 Adding Sample Products to the Site

Lecture 17 Setup and Verify API with Postman and Python

Lecture 18 Install MySQL WorkBench & Connect to Database

Section 3: Crash Course on PyTest

Lecture 19 Introduction to PyTest

Lecture 20 Selecting Tests By Markers (Tags)

Lecture 21 Setup & Teardown (fixtures)

Lecture 22 PyTest HTML Report

Section 4: Build Framework – Project Structure

Lecture 23 How To Use The Provided Code

Lecture 24 Project Structure Overview

Section 5: Test Case Discussion

Lecture 25 TCID-29 – Discussion – “create a customer” endpoint

Lecture 26 TCID-29 – Design Test Code Template

Section 6: Design Helper Classes

Lecture 27 Helper – Email & Password Generator (TCID-29)

Lecture 28 Helper – Crete Customer (TCID-29)

Lecture 29 Helper – ‘POST’ request (TCID-29)

Lecture 30 Authenticate our API call

Lecture 31 Helper – Credentials

Lecture 32 TCID-29 Verify ‘Create Customer’ API Response

Section 7: Environment Variables & Database Helper Class

Lecture 33 Setting Environment Variables

Lecture 34 Customers DAO

Lecture 35 Helper – Database Connect & SQL

Lecture 36 TCID-29 Verify Database

Section 8: Test Case ID 30

Lecture 37 TCID-30 – Discussion – List All Customers Endpoint

Lecture 38 TCID-30 – List All Customers (GET Call)

Section 9: More Practice Test Cases

Lecture 39 TCID-47 – Create Customer Existing Email (negative test)

Lecture 40 Run All Customers Test Cases

Lecture 41 Assignment – Automate TCID-24 (Get All Products)

Lecture 42 TCID-24 Get All Products – Implementation

Lecture 43 TCID-25 Get Product By ID

Lecture 44 TCID-26 Create Simple Product

Lecture 45 TCID-51-1 List Product With Filter “after”

Lecture 46 TCID-51-2 List Product With Filter “after” – db verification

Lecture 47 TCID-51-3 List Product With Filter “after” – more pages

Section 10: More Practice: Using Python Library by WooCommerce

Lecture 48 WooCommerce Python Library Intro

Lecture 49 TCID-48-1 Place Guest Order – Discussion

Lecture 50 TCID-48-2 Place Guest Order – Read Payload From File

Lecture 51 TCID-48-3 Place Guest Order – Make The Call

Lecture 52 TCID-48-4 Place Guest Order -Validate Response

Lecture 53 TCID-48-5 Place Guest Order -Validate db

Lecture 54 TCID-49 Place Order With New Customer

Lecture 55 Setup Example with TCID-49

Section 11: More Practice: Setup & Database Configurations

Lecture 56 Use Configs for Database Connections

Lecture 57 TCID-55-1 Update Order Status – Cancelled

Lecture 58 TCID-55-2 Update Order Status – Cancelled

Lecture 59 TCID-55,56,57 Parametrization

Lecture 60 TCID-58 Update Order Status – Invalid Status

Lecture 61 TCID-59 Update Order – “customer_note”

Section 12: EXERCISES

Lecture 62 Exercise TCID-61: Verify update ‘regular_price’ updates the ‘price’ field

Lecture 63 Exercise TCID-63: Verify update ‘sale_price > 0’ will set field ‘on_sale’=True

Lecture 64 Exercise TCID-64: Verify update ‘sale_price=” “‘ will set field ‘on_sale’=False

Lecture 65 Exercise TCID-65: Verify update ‘sale_price’ updates the ‘sale_price’ field

Lecture 66 Exercise TCID-60: Order with 50% off coupon should reduce total by 50%

Lecture 67 Exercise TCID-37: Create a new coupon with ‘discount_type=percent’

Lecture 68 Exercise TCID-38: Create a new coupon with ‘discount_type=fixed_cart’

Lecture 69 Exercise TCID-39: Create a new coupon with ‘discount_type=fixed_product’

Lecture 70 Exercise TCID-40: Create a new coupon with ‘discount_type=’

Section 13: Running Tests In Docker Container

Lecture 71 Docker Section Introduction

Lecture 72 Create Dockerfile & Build Image

Lecture 73 Start Container and Try Test Run – unsuccessful

Lecture 74 Connect to Database From Container

Lecture 75 Use Docker Volumes To Avoid Image Rebuild

Lecture 76 Make API Call from Container

Lecture 77 Run Tests From Outside Container

Lecture 78 Wrapper Script To Run Tests In Container

Lecture 79 Color Output From Docker Run

Lecture 80 Using Debugger (pdb) With Docker

Lecture 81 Timestamp The Report

Lecture 82 Docker Section Summary

Section 14: BONUS SECTION: SQL (MySQL) Crash Course

Lecture 83 Introduction to the SQL Crash Course

Lecture 84 Introduction to SQL

Lecture 85 Setup Database and Data

Lecture 86 SQL SELECT Query (Reading Data)

Lecture 87 SQL SELECT Query Continued

Lecture 88 SQL SELECT Query Continued 2

Lecture 89 SQL IN Clause

Lecture 90 SQL SELECT Sub-Query

Lecture 91 SQL LIKE Clause

Lecture 92 Intro to SQL JOIN

Lecture 93 SQL JOIN

Lecture 94 SQL LEFT JOIN

Lecture 95 SQL Special Functions



Lecture 98 SQL DROP and TRUNCATE

Lecture 99 SQL Crash Course Conclusion

Anyone looking to learn automation Backend/API testing,Anyone that already know basic Python and want to learn Backend/API testing,Anyone looking to gain experience automating the backend test for real eCommerce site,Anyone looking to learn to setup their own API locally and practice testing

Course Information:

Udemy | English | 14h 1m | 7.67 GB
Created by: Admas Kinfu

You Can See More Courses in the IT & Software >> Greetings from CourseDown.com

New Courses

Scroll to Top