Api Testing With Python 3 & Pytest, Backend Automation 2022
Last updated 4/2022
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 6.13 GB | Duration: 14h 1m
Last updated 4/2022
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 6.13 GB | Duration: 14h 1m
Learn to build framework for API automation testing (backend testing) using Python and PyTest, SQL, Reports, Docker …
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)
Requirements
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
Description
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
Overview
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 96 SQL INSERT INTO
Lecture 97 SQL CREATE TABLE
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