Web Service Testing Using Apache Httpclient

Learn the testing of Restful web services using the Apache HttpClient Library from scratch and Rest Assured Framework

Last updated 2022-01-10 | 4.9

- By the end of this course you will give have great understanding of Restful Services
- By the end of this course you will have great understanding of Postman client
- By the end of this course you will have great understanding on how to use Apache HttpClient Library

What you'll learn

By the end of this course you will give have great understanding of Restful Services
By the end of this course you will have great understanding of Postman client
By the end of this course you will have great understanding on how to use Apache HttpClient Library

* Requirements

* Basic understanding of Oops concept.
* Basic understanding of eclipse.
* Basic understanding of Java programming language

Description

RESTful Web Services are REST architecture based web services. In REST Architecture everything is a resource. RESTful web services are light weight, highly scalable and maintainable and are very commonly used to create APIs for web based applications.

This course will teach you about the testing of Restful Web Services. In this course everything is taught from scratch.

In the first section, I am going to discuss about the basic of restful web services and required concept for this course.

In the next section, we will start with manual testing part of restful web services using Postman client. Which will give you more detail understanding about what we should test. This includes

  • Concept of HTTP methods (GET,POST,PUT and DELETE)
  • Creating and sending the request using Postman
  • Validation of response body and status code
  • Attaching the custom headers to the request
  • Validation of response in Json and Xml format


In the next section, I will start with the automation part, discussing about Apache HttpClient library. This includes

  • Setting up the Maven project for the automation
  • Creating and sending the HTTP request (GET,POST,PUT and DELETE) from the code
  • Attaching the custom headers to the request from code
  • Validation of response body and status from code
  • Deserialization of response in Json and Xml format
  • Handling the endpoint secure with SSL
  • Framework development


By the end of this course, you will have great understanding of restful service and how to automate them using Apache HttpClient library

The course is not limited to following content. In future I will keep adding the new topics to this course.

And source code shown as part of video lecture will be provided for download

Who this course is for:

  • This tutorial is designed for Software Professionals, who want to learn the testing of web services.
  • This course include both manual testing and the automation testing apporach
  • All the tester, who want to learn the framework development using Apache HttpClient Library

Course content

30 sections • 152 lectures

Introduction and Course Material Preview 02:11

Prerequisite Preview 00:54

Tools Required Preview 00:54

Setting up the jdk 1.8 Preview 05:38

Setting up the Tomcat Server Preview 05:12

Setting up the Eclipse Preview 05:05

Setting up the Postman Client Preview 01:15

[Important] Virtual Machine - Environment Setup Preview 07:45

Setting up the environment using virtual machine. which have all the tools and project setup required for this course

What is a Web Service Preview 01:45

Request and Response Preview 01:50

What is REST Preview 00:48

HTTP Methods Preview 02:16

Request and Response Format Preview 03:49

Deploying the Test Application in Tomcat Preview 04:47

Application Under Test Preview 03:41

Testing the GET end point part - 1 Preview 06:59

Testing the POST method Preview 12:04

Testing the GET endpoint part - 2 Preview 02:28

Testing the PUT method Preview 07:19

Testing the DELETE end point Preview 02:46

Setting up the Maven Preview 02:45

Creating the Maven Project Preview 05:15

Adding the dependency to the Maven Project Preview 03:35

Creating the GET request part - 1 Preview 12:10

Creating the GET request part - 2 Preview 03:27

Featching the body from GET resquest Preview 05:44

Creating the Framework method for GET Preview 12:16

Creating the Junit for GET request part - 1 Preview 08:45

Creating the Junit for GET request part - 2 Preview 09:38

Adding the Header to the Request Preview 10:09

Deserialization of JSON reponse Preview 12:35

Creating the POST Request Preview 11:03

Posting the data from File Preview 04:45

Creating the Framework method for POST request Preview 09:03

Creating generic method to support different entity type Preview 06:29

Code optimization for GET and POST request Preview 09:15

Writing the Junit for POST method Preview 08:27

Deserialization of XML response Preview 08:59

Creating the DELTE request Preview 06:22

Framework method for DELETE request Preview 04:50

Writing the Junit for Delete method Preview 06:30

Creating the PUT method Preview 06:36

Creating the Framework method for PUT request Preview 06:10

Writing the Junit for PUT method Preview 09:37

Introduction to Authentication part - 1 Preview 00:52

Introduction to Authentication part - 2 Preview 01:55

Authentication using Postman Client Preview 03:19

Authentication from the Code Preview 05:50

Authorization using HttpClientContext class Preview 13:35

Introduction to SSL Preview 01:35

Generating the SSL certificate Preview 07:30

Bypassing the certificate validation process Preview 04:25

Writing the GET method for SSL end point Preview 12:26

Creating the framework method for GET and POST with SSL Preview 07:02

Writing the Junit for GET and POST with SSL Preview 08:00

Framework method for PUT and DELETE with SSL Preview 06:29

Writing the Junit for PUT and DELETE with SSL Preview 13:29

Introduction to Synchronous and Asynchronous calls Preview 02:08

Creating the Http Async Client Preview 06:26

Writing the GET method using HTTP Async Client Preview 11:38

FutureCallBack interface Preview 02:52

Writing the framework method for POST,PUT and DELET with SSL Preview 09:05

Writing the Junit using Http Async Client Preview 05:23

Handling Query Parameter from code Preview 12:58

Exporting the framework as a JAR file Preview 11:10

Build the Framework JAR with dependencies Preview 04:37

Framework Code for Download Preview 00:02

Introduction and Course Material Preview 01:45

Setting up the RestAssured Framework Preview 01:42

RestAssured with BDD framework Preview 05:59

Coding Style Preview 03:46

Writing the GET method Preview 05:21

Handling the Response Preview 06:39

Handling and Validating the response status code Preview 07:51

Setup using the RestAssured enviroment variable Preview 12:33

Creating the GET request with custom headers Preview 04:20

Validating the Response Content Preview 09:23

Validating the list content in Response Preview 11:31

Validating the XML Response Preview 06:42

Validation using XmlPath class Preview 11:03

Validation using JsonPath class Preview 03:14

Handling the Query Parameters Preview 09:39

Writing the POST method Preview 11:41

POST method with Object Mapping Preview 13:56

POST method with Request logging Preview 13:06

Deserialization of Response body Preview 09:12

Authentication Using Header Preview 06:31

Authentication Using RestAssured Api Preview 06:11

Settingup the environment for authentication Preview 05:02

Bypassing the SSL certificate check Preview 05:06

Supplying the SSL Certificate with request Preview 07:08

Introduction to Access Token Preview 02:30

Creating an application for generating the access token Preview 04:02

Calling the end point using the access token Preview 06:25

Generating the access token from code Part -1 Preview 09:19

Generating the access token from code Part - 2 Preview 06:19

Introduction & Creating app for Twitter Preview 05:39

POST Status-Update on Twitter Preview 10:13

Get the list of Followers Preview 06:09

Deleting the Status-Update from the Twitter wall Preview 07:50

Data Base Connectivity - Introduction Preview 02:38

Getting the Driver for MSSQL Preview 01:32

Loading the Driver into Memory Preview 04:50

Creating the Connection Preview 05:08

Creating the Statement Object Preview 01:41

Executing the Sql Query - SELECT Preview 02:40

Capturing the Result of Query Preview 06:07

ResultSetMetaData Interface Preview 03:33

Executing Query - DELETE Preview 04:58

Executing the Update Query Preview 01:36

Executing the Insert Query Preview 01:03

DataBaseHelper - Introduction Preview 01:57

DataBaseHelper - Design Preview 06:33

DataBaseHelper - Creating Interface Preview 04:49

DataBaseHelper - Implementation - Part 1 Preview 05:17

DataBaseHelper - Implementation - Part 2 Preview 12:03

Using the Framework Helper Class Preview 04:25

BDD - Introduction Preview 02:27

Gherkin Language Preview 00:37

BDD - Keywords Preview 01:52

BDD - Cucumber Plugin Preview 02:17

BDD - Adding Dependencies Preview 02:17

BDD - Creating a Featurefile Preview 07:07

BDD - Tidy Gherkin Preview 00:30

BDD - Generating the Step Definition Preview 02:32

BDD - Creating Junit Runner Preview 04:10

BDD - Keywords Part 2 Preview 01:32

BDD - Passing the Parameter Preview 03:13

BDD - Data Table Preview 07:13

BDD - Post Method Preview 07:19

BDD - Request Util Class Preview 16:32

BDD - Implementing the Step Dfenition Preview 06:15

BDD - Instance Variable Preview 06:16

BDD - Step Argument Transform Preview 05:39

Post method - Argument Transform Preview 09:59

BDD - Cucumber Hooks Preview 00:43

BDD - Implementing the Hooks Preview 03:04

BDD - Injecting the Scenario Object Preview 03:38

Post Method - Initialize RestAssured Variable via hook Preview 02:52

BDD - Dependency Injection Preview 01:30

BDD - Implementing DI Preview 06:43

PutMethod - Implement DI part - 1 Preview 07:36

PutMethod - Implemen DI Part - 2 Preview 04:06

Parametrized Post Method with Object Mapper Preview 19:24

WireMock - Introduction Preview 01:08

WireMock - Stubbing GET Request Preview 10:18

WireMock - GET Request - Attaching body to Mock response Preview 03:56

JWT Authentication - Introduction Preview 06:15

Handling JWT Token Preview 08:52