Rest Api Automation With Rest Assured Part 2

Learn every topic in Rest-Assured with Real World Examples & Test Automation Framework development with CI !!

Last updated 2022-01-10 | 4.6

- File Uploads
- File Downloads
- Sending SOAP Requests
- Sending requests via proxy server using Rest Assured
- **TEST AUTOMATION FRAMEWORK DEVELOPMENT & CI WITH GIT
- JENKINS***
- OAUTH1 Authentication with Twitter
- Authentication OAUTH2 with Paypal in Rest Assured

What you'll learn

File Uploads
File Downloads
Sending SOAP Requests
Sending requests via proxy server using Rest Assured
**TEST AUTOMATION FRAMEWORK DEVELOPMENT & CI WITH GIT
JENKINS***
OAUTH1 Authentication with Twitter
Authentication OAUTH2 with Paypal in Rest Assured
Authentication with Spring Security & CSRF Token based apps in Rest Assured
Logging
request/response specifications
RootPath
JSONPath
XMLPath
JSoup Libraries for extracting data
Hard Asserts
Soft Asserts
Multiple Asserts
complete JSON Body Assertions using JSONAssert Library
Continuous Integration with GitHub & Jenkins
Allure Reports Implementation in TestFramework & configuration with Jenkins

* Requirements

* This course requires that the user has some basic programming knowledge in Java
* Basic understanding of RESTful Services

Description

**COMPLETE GUIDE FOR REST ASSURED WITH REAL-WORLD API'S, THROUGH COVERAGE ON FRAMEWORK DEVELOPMENT**

In the 21st century, almost all web applications use web services to communicate or interact with each other. Most modern-day web services are built on Representational state transfer (REST) architecture; REST has gained a lot of popularity and it will continue to do the same due to its simplicity in comparison with other technologies.

It is very important for software QA engineers, automation engineers, and software developers to understand the importance of Web Services testing and more importantly how to automate these tests. Automating Application Program Interface (API) tests are critical and crucial for most projects due to the fact that API tests are far more stable, reliable and fast.   

In this course, you will be provided with the tools and techniques needed to be successful with REST API automation. We will be focusing on the important topics listed below:

  • Introduction to REST Assured, which is a popular open-source library used for API test automation. Learn to write tests for GET, POST, PUT, PATCH and DELETE operations using a sample application provided in the course  

  • Understand and use JSONPath, XML Path (with Groovy syntax) to assert and extract the response   

  • Simplify writing JSONPath by using Root path feature   

  • Practical examples demonstrating different Rest Assured topics (Request Specification, Response Specification, Logging, Parameters, File Download etc.)  

  • Logging Request and Response information based on test status  

  • Avoiding writing repetitive code by using Request/Response specification concepts  

  • Adding multiple assertions to a single test  

  • Soft Assertions in Rest Assured 

  • File Download   

  • File Upload using the multipart method  

  • Work with real-world examples such as Walmart Search API, PayPal Payment Service  

  • Use PayPal Web Service to learn different concepts like Authentication using OAuth 2.0, passing of access tokens to different requests, and executing GET, COMPLEX POST requests   

  • Use OAuth 1.0 authentication with Twitter to create Tweets, read tweets using Rest-Assured

  • Authenticating into applications which implement Form Authentication using Spring Security 

  • Authenticating into applications that implement Form Authentication using Spring Security & CSRF token implementation. 

  • Sending Soap Requests using Rest-Assured 

  • Sending requests via Proxy Server 

  • Parsing HTML Data using JSOUP Library 

  • Using JSONAssert Library to assert on complete JSON responses 

  • Learn to use setup & configure Allure Reports   

  • Provide beautiful DisplayNames, Descriptions, link information in your reports

  • Add detailed test step information & attachment information in the reports

  • FRAMEWORK DEVELOPMENT WITH JAVA, JUNIT, ALLURE REPORTS

  • Continuous Integration(CI) with Git, Github & Jenkins

At the end of this course, you will feel at "Rest" and will be "Assured" to take up API Testing, API Automation and successfully execute it in your organization!



Who this course is for:

  • QA Engineers who want to learn how to write API automation
  • Automation Engineers, SDET's who want to learn an additional Java testing library for RESTful APIs
  • Software developers who would like to learn the art of API test automation using REST Assured

Course content

27 sections • 108 lectures

Introduction Preview 01:37

****RATING THE COURSE EARLY ON**** Preview 00:20

Launching the 'Students' Sample Application Preview 07:00

In this lecture, we will learn '

  1. How to start the Students Sample application.
  2. How to change the default port number (8080) on which the application starts.


IMPORTANT: For users using Java 9 Preview 00:05

Installing Docker on Windows OS Preview 05:57

Installing Docker on MacOsx Preview 03:48

Launching Student app docker image Preview 04:49

Project setup using maven, junit, & rest-assured Preview 07:56

Popular test writing styles in Rest Assured Preview 06:51

Writing our first using Rest Assured Preview 10:20

Static import of Rest Assured methods Preview 01:59

Passing QueryParams in GET Request Preview 07:19

Passing Path Params in GET Request Preview 03:45

Reusability with RestAssured constants(port, baseURI ,basePath) Preview 06:27

POST request with payload as String Preview 05:33

POJO creation & Java object payload with Gson Preview 10:41

Creating Fake Test Data with Java Faker library Preview 03:49

Updating Student information with PUT request Preview 04:30

Update partial info (PATCH request) Preview 01:52

Delete a student using DELETE Request Preview 02:20

Code for download Preview 00:01

Logging Request Information Preview 08:33

Logging Request Information based on Test Status Preview 07:42

Logging Response Information Preview 09:09

Bestbuy API playground setup Preview 07:23

Brief overview on extracting information from response Preview 03:25

Extracting response information with Jayway JsonPath library-p1 Preview 10:07

Extracting response information with Jayway JsonPath library-p2 Preview 14:39

Jayway JsonPath Info Preview 00:01

Extracting response information with JsonPath(JsonSlurper)-p1 Preview 15:03

Extracting response information with JsonPath(JsonSlurper)-p2 Preview 12:31

RestAssured JsonPath Useful links Preview 00:07

Code for download Preview 00:01

Walmart Search API Walkthrough Preview 06:21

**********WALMART API KEY: IMPORTANT, PLEASE READ******************** Preview 00:09

Extracting data from response using JsonPath-Part1 Preview 09:28

Extracting data from response using JsonPath-part2 Preview 10:11

Extracting data from response using JsonPath-part3 Preview 09:28

Extracting data from response using JsonPath-part4 Preview 11:49

**********WALMART API KEY: IMPORTANT, PLEASE READ******************** Preview 00:10

Extracting data from response using XMLPath-part1 Preview 10:12

Extracting data from response using XMLPath-part2 Preview 07:58

Adding single assertion to tests Preview 12:31

Adding Multiple Assertions To Tests Preview 11:19

Soft Assertions In Rest-Assured Preview 05:36

Refactoring Tests using Request Specification Preview 08:46

Refactoring tests using Response Specification Preview 12:07

Extracting request/response specifications using filters Preview 18:07

Validating File DownLoads Part 1 Preview 09:58

Validating File DownLoads Part 2 Preview 04:56

Creating developer account for Zamzar file conversion Preview 10:08

Uploading files to Zamzar using Multipart Request Preview 09:10

Introduction to PayPal Web Services Preview 05:43

Creating Paypal Developer accounts & Testing App Preview 06:26

Usage of OAuth 2.0 in Paypal Preview 02:30

Creating Payment/Requesting Payments in Paypal using POSTMAN Preview 09:46

Obtaining the session token from Paypal OAuth server using REST Assured Preview 10:22

Creating payment in PayPal by posting body as String Preview 12:05

Creating POJO Files for Payment Preview 14:33

Creating Payment Object from POJO Files Preview 11:16

Creating payment in PayPal with Payment Object Preview 08:57

Getting payment information in PayPal using GET Request (REST Assured) Preview 05:48

Twitter Endpoint & Sample application Preview 15:00

Creating/Reading Tweets using Postman Preview 06:46

Creating/Reading Tweets using Rest-Assured Preview 10:03

Starting up the student application Preview 05:51

Form authentication login mechanism Preview 18:45

Logging into application with CSRF Token implementation Preview 05:20

Getting the list of all the students Preview 06:18

Introduction to allure reports Preview 04:06

Installing allure-cli on Windows Preview 05:25

Installing allure on MacOsx Preview 00:07

Creating your first allure report Preview 12:45

Providing meaningful display names to your tests Preview 12:43

Attaching links to your reports Preview 07:53

Grouping tests as stories,epics & features Preview 06:07

Adding step information using @Step annotation Preview 09:20

Adding attachments to your reports Preview 12:09

Code for download Preview 00:00

RoadMap for the framework Preview 02:57

Create project structure & execute first build using maven Preview 20:24

Create TestBase parent class for storing commonly used methods Preview 06:31

PropertyReader class using Singleton Design Pattern Preview 16:34

RequestFactory class with Allure Step Definitions Preview 07:58

Generic RestClient containing Rest-Assured methods Preview 15:52

Using JavaFakerApi to generate random test data Preview 10:25

SpecificationFactory for storing commonly used request-response specifications Preview 17:31

Tagging tests using Junit Categories Preview 09:45

Creating Test Listeners by using TestWatcher Preview 06:55

DataDriven testing using DataProviders Preview 11:02

Download Code Preview 00:00

Installing Git on Windows OS Preview 03:45

Installing Git On MacOs Preview 02:46

Introduction to Git & GitHub Preview 03:34

Working with Git Preview 11:22

Working with GitHub Preview 13:25

Pushing the TestProject code into Git & Github Preview 04:08

Jenkins download & startup(applies to both Windows & Mac OS) Preview 06:41

Setup plugins on Jenkins Preview 01:41

Configure Git, Jenkins, build the project & publish Allure Reports Preview 08:41