Backend / API Testing with Python

Learn to to use Python to write automated backend / API tests, using real working APIs.
4.2 (58 ratings) Instead of using a simple lifetime average, Udemy calculates a
course's star rating by considering a number of different factors
such as the number of ratings, the age of ratings, and the
likelihood of fraudulent ratings.
2,416 students enrolled
Instructed by Admas Kinfu IT & Software / Other
$19
$40
52% off
Take This Course
  • Lectures 36
  • Length 3.5 hours
  • Skill Level All Levels
  • Languages English
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works

Discover

Find online courses made by experts from around the world.

Learn

Take your courses with you and learn anywhere, anytime.

Master

Learn and practice real-world skills and achieve your goals.

About This Course

Published 12/2015 English

Course Description

Course Description

Learn how to use Python to test the back-end of web services or APIs. We use industry standard real eCommerce API to practice testing using Python programming language.


Critical addition to your resume

If 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 Overview

In 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 class
  • Enough material and examples to be able to create a project and maintain a GitHub repo
  • Industry standard tools to add to your resume.
    • Like
      • MySQL Workbench
      • AMPPS (package with Apache, MySQL, PHP, ....)
      • WordPress
      • WooCommerce

What are the requirements?

  • Have basic knowledge of Python programming language
  • Have basic knowledge of software testing

What am I going to get from this course?

  • Understand what API testing is
  • Be able to write automated API tests using Python
  • Learn different tricks and methods to use while testing
  • Learn how test runner tool is used

What is the target audience?

  • Anyone looking to learn automation Backend/API testing
  • Anyone that already know basic Python and want to learn Backend/API testing
  • Students with experiance in Backend/API testing should NOT take this course

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.

Curriculum

Section 1: Introduction to the course
Introduction
Preview
02:43
Section 2: Prepare Our Tools
Summary of Tools we will use and why
Preview
06:01
Install webserver and database on our local machine (AMPPS)
03:51
Installing WordPress on local machine
04:20
Installing WooCommerce (our e-commerce) Plugin (key and secreate)
02:40
01:58

Installing WooCommerce Python wrapper. This module enables us to use Python to make requests to the WooCommerce API. We will use 'pip' to install the package.

Installing MySQL WorkBench
06:51
Section 3: WooCommerce Settings and Documentation
Configuring WooCommerce API
05:16
WooCommerce Official Documentation Reveiw
Preview
04:56
Section 4: Test Structure and Organization
Project Structure
02:54
Create our structure
03:22
Section 5: Custom tools (scripts we will use for DB and API)
05:07

In this lecture we will create a class that will authenticate and make requests to the API. We will use methods of this call though out the course to make the request. We make a simple test method to test our class and our authentication.

06:01

In this video we add to function to our API class. The two methods are used to make 'POST' and 'GET' Rest requests. We will be using these two functions throughout the course.

DB Connection Module: connect and ‘SELECT’ statement
07:57
DB Connection Module: ‘UPDATE’ statement
03:54
Section 6: TEST CASES
02:53

In this video we look at what the 'products' endpoint does, what the payload looks like and what the response looks like. We will look at the official documentation.

10:43

In this video we will create the payload for the 'products' end point and we make the API call. The 'products' endpoint creates a new product in the database.

11:22

We continue to look at positive test case to create product. We made the API call on the last video, and on this video we verify the response. We compare the values in the response with the values in the payload for the call.

04:47

Once the product is created using the API, it is important to verify that it is actually recorded in the database. In this video we look at the product in the database using MySql Workbench. We will write the query we need to get the data. On the next video we will use this query to verify the data with Python.

09:20

In this video we write a test function that will query the database for a product, and compares the information in the database with the expected information. The expected information is the information we used in the payload when we created the product.

PRODUCTS endpoint > Negative TC-1: empty payload
13:48
PRODUCTS endpoint > Negative TC-2: missing ‘title’ parameter
09:41
PRODUCTS endpoint > Negative TC-3: empty string for ‘title’ parameter
05:21
PRODUCTS endpoint > Negative TC: verifications function for negative test
09:26
PRODUCTS endpoint > Negative TC-3 continue: empty string for ‘title’ parameter
05:41
Section 7: TEST RUNNER TOOL “PY.TEST”
Introduction to "py.test"
Preview
09:19
Run "products" tests with "py.test"
06:12
Section 8: "CUSTOMERS" endpoint test (API to create new customer)
CUSTOMERS endpoint > Intro to ‘customers’ endpoint
02:23
CUSTOMERS endpoint > create random user information
05:23
CUSTOMERS endpoint > positive test, create payload and make API call
Preview
04:11
CUSTOMERS endpoint > positive test, verify API response
07:01
05:16

We will use MySQL Workbench to write SQL query to get user information from database manually. Later we will use the SQL in our Python code to get the information.

CUSTOMERS endpoint > function to get customer info from db
09:19
CUSTOMERS endpoint > create helper module, move random generator function
02:32
CUSTOMERS endpoint > Positive TC verify customer created in db (with assert)
09:14
CUSTOMERS endpoint > Positive TC verify customer created in db (with if-else)
08:50

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Admas Kinfu, QA Automation Engineer

With 7+ years of overall engineering experience I have found my passion in software testing automation and Python has become my favorite tool to work with. I graduated with a MS degree in Mechanical Engineering from San Jose State University, and got into the IT field of software testing automation after graduation. I love to teach and learn as well. I hope to help students grow fast and advance in the field of software testing and automation.

Ready to start learning?
Take This Course