4.23 out of 5
4.23
133 reviews on Udemy

WebServices testing (RestSharp + Postman) Complete Guide

2 in 1! Learn API testing from zero and build Test Automation with minimum toolset: C#, NUnit, RestSharp, Newtonsoft
Instructor:
Tigran Ter-Karapetyants
19,178 students enrolled
English [Auto]
Postman basics
API baiscs
REST API
RESTful Web Services
HTTP methods
HTTP status codes
JSON schemas
API testing
NUnit 3 basics
NuGet basics
DotNet Console basics
RestSharp basics
NewtonsoftJson basics

Are you ready to become a WebServices Testing expert, mastering both RestSharp and Postman? Look no further! This comprehensive course is your key to unlocking the world of API and WebServices testing.

In today’s digital landscape, the reliability of WebServices is crucial. This course is your gateway to becoming a proficient API tester, harnessing the power of RestSharp and Postman to validate and optimize RESTful Web Services.

What You Will Learn:

  • Postman Basics: Start your journey with a solid foundation in Postman, whether you’re a beginner or experienced user.

  • API Basics: Grasp the essential concepts of APIs and understand their role in modern software development.

  • REST API: Dive deep into Representational State Transfer (REST) APIs and learn how to interact with them efficiently.

  • RESTful Web Services: Explore RESTful Web Services and discover how to validate their functionality effectively.

  • HTTP Methods: Master various HTTP methods (GET, POST, PUT, DELETE, etc.) for diverse API operations.

  • HTTP Status Codes: Learn to interpret HTTP status codes accurately, identifying success and potential issues.

  • JSON Schemas: Work with JSON schemas to validate and structure API responses with precision.

  • API Testing: Tackle practical API testing scenarios, from simple requests to complex workflows, ensuring the reliability of WebServices.

  • NUnit 3 Basics: Gain proficiency in NUnit 3, a powerful unit testing framework for .NET, to structure and execute your tests seamlessly.

  • NuGet Basics: Discover how to manage project dependencies efficiently using NuGet, simplifying the integration of external libraries.

  • DotNet Console Basics: Build a strong foundation in using the .NET Console for debugging and executing your .NET code.

  • RestSharp Basics: Explore the fundamentals of RestSharp, a popular .NET library for API testing, to create powerful test scripts.

  • NewtonsoftJson Basics: Understand the basics of Newtonsoft.Json, a widely-used JSON framework for .NET, to handle JSON data efficiently.

Why Enroll in This Course?

  • Hands-On Experience: Develop practical skills through hands-on exercises, quizzes, and real-world API testing projects.

  • Expert Guidance: Learn from experienced instructors with a deep understanding of WebServices testing and RestSharp.

  • Career Advancement: Enhance your career prospects by becoming a proficient WebServices Tester, a skill in high demand in the tech industry.

  • Lifetime Access: Enjoy lifetime access to course materials, updates, and join a supportive online community of learners.

Don’t miss this opportunity to become a WebServices Testing expert with both RestSharp and Postman. Enroll today and take the first step toward a rewarding career in API and WebServices testing!

Introduction

1
Introduction

Here is our agenda for today:

  • Learn what are the main benefits of this course.

  • See what are the future opportunities after the course's completion.

2
Communication plan

Today we will learn:

  • How we are going to communicate to make sure that the learning process is efficient

  • Where to ask questions

  • How to ask questions

  • Communication channels, where you can reach out to me.

3
Tips to Improve Your Course Taking Experience

API Basics

1
API and Web Service

Today we will learn:

  • What is API?

  • What is a web service?

  • Why are web services needed?

  • Where web services are used?

  • What are pros and cons of API?

2
API Types Overview

Today we will learn:

  • What are the main existing API types?

  • What is REST API?

  • What is SOAP API?

  • What are the differences between REST and SOAP?

3
REST API Overview

Today we will learn:

  • What is REST API?

  • What are its architectural properties?

  • Why is it needed in Web Applications?

  • Advantages of REST API

4
HTTP methods

Today we will learn:

  • What is an HTTP method?

  • What are several main features of an HTTP method?

  • What are the main methods of REST API?

  • Why is each of them needed?

5
HTTP Status Codes

Today we will learn:

  • What is an HTTP status code?

  • What are the main types of API status codes?

  • Why each of them is needed?

  • What is the connection between HTTP methods and status codes?

Test Environment Setup

1
Postman Introduction

Here is our agenda for today:

  • We will talk with you a bit about Postman history.

  • Consider main components of Postman.

  • Understand why we should learn Postman.

  • Afterwards we will discuss the role of the Postman in software testing process.

2
Postman Installation

Today we will learn:

  • What is API testing tool?

  • What are the most popular API testing tools?

  • Why Postman?

  • How to install Postam to your machine?

  • How to perform basic configuration of Postman?

3
Trello Account Creation

Today we will learn:

  • What is Trello?

  • Why is it selected for API testing?

  • How to create a test account in Trello?

  • How to set up Trello board for the course?

4
Authorization Token Creation in Trello

Today we will learn:

  • What is authorization in API?

  • Why is authorization needed?

  • Why will we need auth token in Trello?

  • How to generate auth token?

  • Where to store the generated token value?

5
Authorization Token Creation in Trello - New Trello Version

Today we will learn how to create API Key and Token for updated version of Trello

HTTP Method GET - Postman

1
GET Method Overview

Today we will learn:

  • What is GET method?

  • When is GET method needed?

  • Why is GET method needed?

  • What are the main features of GET method?

2
GET Method in Postman

Today we will learn:

  • How can we create a GET method in Postman?

  • How can we execute a GET method in Postman?

  • How does the GET method response look like?

  • How do different GET methods look like?

3
GET Method in Postman - Hometask

The home task for today's lesson is the following:

  • Sign in to Trello

  • Open Trello API docs page.

  • Find Get Lists on a board request.

  • Execute this request for your Test board.

  • Find Get Cards in a List, Get a Card.

  • Execute these requests for any of the lists on your Test board.

4
JSON Schema Validation

Today we will learn:

  • What is JSON schema?

  • Why is JSON schema needed?

  • How can we validate a GET response schema?

  • Which tool can be used to generate a JSON schema?

  • Which tool can be used to validate a JSON schema?

5
JSON Schema Validation - Hometask

The home task for today's lesson is the following:

  • Open https://jsonschema.net/ and https://jsonschemalint.com/ sites.

  • Execute Get Cards request from our previous home task.

  • Generate and validate JSON Schema for response array.

  • Execute Get Specific Card request from our previous home task.

  • Generate and validate JSON Schema for response object.

6
GET Method Validation in Postman

Today we will learn:

  • What is validation test?

  • How can we validate a GET endpoint?

  • What are common status codes for GET methods validation?

  • How to validate a GET endpoint in Postman?

7
GET Method Validation in Postman - Hometask

The home task for today's lesson is the following:

  • Execute Get Specific Card request with valid data.

  • See that response status code and body are valid.

  • Validate card id path parameter with invalid format and value.

  • Validate unauthorized permission attempt.

  • Validate key, token, and fields query parameters.

HTTP Method POST - Postman

1
POST Method Overview

Today we will learn:

  • What is POST method?

  • When is POST method needed?

  • Why is POST method needed?

  • What are the main features of POST method?

2
POST Method in Postman

Today we will learn:

  • How can we create a POST request in Postman?

  • How can we execute a POST request in Postman?

  • How does the POST request’s response look like?

  • How to check POST request results?

3
POST Method in Postman - Hometask

The home task for today's lesson is the following:

  • Sign in to Trello and open Trello API docs page.

  • Find Create a new Card request.

  • Execute this request for your list.

  • Pass card name and idList fields in two different ways.

  • Check that card is added to list via API and UI.

4
POST Method Validation in Postman

Today we will learn:

  • How can we validate a POST endpoint?

  • What are status codes in POST methods validation?

  • How to validate a POST endpoint in Postman?

  • How to check that new resource is not created via API?

5
POST Method Validation in Postman - Hometask

The home task for today's lesson is the following:

  • Execute Create a New Card request with valid data.

  • See that response status code and body are valid.

  • Validate idList query parameter with invalid format and value.

  • Do not provide idList query parameter at all.

  • Validate unauthorized permission attempt.

  • Validate key, and token query parameters.

HTTP Method PUT - Postman

1
PUT Method Overview

Today we will learn:

  • What is PUT method?

  • When is PUT method needed?

  • Why is PUT method needed?

  • What are the main features of PUT method?

2
PUT Method in Postman

Today we will learn:

  • How can we create a PUT method in Postman?

  • How can we execute a PUT method in Postman?

  • How does the PUT method response look like?

  • How should we check PUT method work?

3
PUT Method in Postman - Hometask

The home task for today's lesson is the following:

  • Sign in to Trello and open Trello API docs page.

  • Find Update a Card request.

  • Execute this request for your test card.

  • Pass card updated name field in two different ways.

  • Check that card is updated via API and UI.

4
PUT Method Validation in Postman

Today we will learn:

  • How can we validate a PUT endpoint?

  • What are common status codes for PUT methods validation?

  • How to validate a PUT endpoint in Postman?

  • How to check resource not updated via API?

5
PUT Method Validation in Postman - Hometask

The home task for today's lesson is the following:

  • Execute Update a Card request with valid data.

  • See that response status code and body are valid.

  • Validate ID path parameter with invalid format and value.

  • Do not provide ID path parameter at all.

  • Validate unauthorized permission attempt.

  • Validate key, and token query parameters.

HTTP Method DELETE - Postman

1
DELETE method overview

Today we will learn:

  • What is DELETE method?

  • When is DELETE method needed?

  • Why is DELETE method needed?

  • What are the main features of DELETE method?

2
DELETE Method in Postman

Today we will learn:

  • How can we create a DELETE method in Postman?

  • How can we execute a DELETE method in Postman?

  • How does the DELETE method response look like?

  • How should we check DELETE method?

3
DELETE Method in Postman - Hometask

The home task for today's lesson is the following:

  • Sign in to Trello.

  • Open Trello API docs page.

  • Find Delete a Card request.

  • Execute this request for your Test board.

  • Verify that the card was deleted via API and UI.

4
DELETE Method Validation in Postman

Today we will learn:

  • How can we validate a DELETE endpoint?

  • What are common status codes for DELETE methods validation?

  • How to validate a DELETE endpoint in Postman?

  • How to check resource not deleted via Postman?

5
DELETE Method Validation in Postman - Hometask

The home task for today's lesson is the following:

  • Execute DELETE Specific Card request with valid data.

  • See that response status code and body are valid.

  • Validate card id path parameter with invalid format and value.

  • Validate unauthorized permission attempt.

  • Validate key, and token query parameters.

Postman Tips

1
Variables in Postman

Today we will learn:

  • What are Collection Variables in Postman?

  • What are Query Variables in Postman?

  • What are Environment Variables in Postman?

  • How to manage all of them?

API and Postman Knowledge Test

1
API and Postman Knowledge Test

Development Environment Setup

1
Visual Studio Installation

Today we will learn:

  • What is IDE?

  • What are the most popular IDEs for C# development?

  • Why Visual Studio?

  • How to install Visual Studio to your machine?

  • How to perform basic configuration of Visual Studio?

2
Dot Net Installation

Today we will learn:

  • .NET main features

  • .NET Versions – Which one to use?

  • How to check current .NET version.

  • How .NET binary could be installed

  • How to configure .NET environment variable

Simple application with Rest Sharp

1
Rest Sharp Introduction

Here is our agenda for today:

  • We will talk with you a bit about Rest Sharp history.

  • Consider main components of Rest Sharp.

  • Understand why we should learn Rest Sharp.

  • Discuss the role of the Rest Sharp in the software testing process.

2
First application with Rest Sharp

Here is our agenda for today:

  • We will create a test project

  • Learn the basics of NuGet Packages

  • Set Rest Sharp client's base URL

  • Send GET request for Trello API base URL

  • Log information sent in the request

3
First application with Rest Sharp - Hometask

Your home task is to implement a simple test application for ‘google.com’ ping. What you should do is:

  • Create a project in Visual Studio

  • Add Rest Sharp dependency to client project.

  • Create a class with Main() method

  • Define google.com as your request base URL

  • Execute GET request for this URL

4
First assertion with Rest Sharp

Here is our agenda for today:

  • Check the response status code

  • Add new dependency to the project

  • See how to log the response received

5
First assertion with Rest Sharp - Hometask

Your home task is to add assertion to a simple test application for ‘google.com’ ping. What you should do is:

  • Open your project

  • Add statement printing your response to Console

  • Save the result of request execution to a separate variable

  • Check status code for your API call as the final line of code in the method

6
First test with Rest Sharp

Here is our agenda for today:

  • Create NUnit test project

  • Get rid of RestSharpRunner class.

  • Create the first test class.

  • Generate first NUnit test method.

  • Set Rest Client in [OneTimeSetup] hook.

7
First test with Rest Sharp - Hometask

Your home task is to migrate your simple test application for ‘google dot com’ ping to test method. What you should do is:

  • Create a new NUnit 3 test project.

  • Copy the content of main method.

  • Remove RestSharpRunner class.

  • Create a test class with test method.

  • Set IRestClient inside a [OneTimeSetup] hook.

HTTP Method GET - Rest Sharp

1
GET Method with Rest Sharp

Here is our agenda for today:

  • We will add two test methods to our project.

  • Learn how to add query params to the request.

  • See how to use path params in requests.

  • Verify response body part.

2
GET Method with Rest Sharp - Hometask

Your home task is to cover GET Cards and GET Card API endpoints with happy path tests. What you should do is:

  • Add two test methods for each endpoint in your project.

  • Add authorization query params to each request.

  • Add {list_ID} and {card_ID} path params to requests.

  • Verify received card’s name.

3
JSON Schema Validation with Newtonsoft Json

Here is our agenda for today:

  • We will add Newtonsoft Json Schema dependency.

  • Reduce the fields number returned by our GET endpoints.

  • Create Json files with our schemas stored.

  • Add JSON Schema validations

4
JSON Schema Validation with Newtonsoft Json - Hometask

Your home task is to add JSON Schema validation for GET Cards and GET Specific Card Trello API requests. What you should do is:

  • Add Newtonsoft Json Schema dependency to your project.

  • Reduce fields count returned by GET endpoints to ID and name.

  • Create two files to store JSON schemas for your responses.

  • Put your schemas there.

  • Set Copy to Output Directory property’s value to Always Copy.

  • Add lines of code for each test method with JSON Schemas validation.

5
GET Method Validation with Rest Sharp

Here is our agenda for today:

  • We will add one more test class to our automation framework.

  • Create invalid board ID validation test.

  • Work on test checking GET Board endpoint access without authorization.

  • Automate check if trying to access someone’s personal data by another user credentials.

6
GET Method Validation with Rest Sharp - Hometask

Your home task is to add validation tests for GET Specific Card Trello API requests. What you should do is:

  • Create a separate test class for validation tests.

  • Add a test method checking unauthorized permission request.

  • Create an automated test to access a card with invalid ID.

    • Build a verification method trying to access specific card with another user credentials.

Test Framework Refactoring

1
Create BaseTest class

Here is our agenda for today:

  • We will discuss what refactoring is.

  • Understand the main steps that should be present in refactoring.

  • Create a BaseTest class.

  • Restructure packages in our framework.

2
Create BaseTest class - Home Task

Your home task is to perform refactoring for your automated tests’ framework for GET Cards and GET Card endpoints. What you should do is:

  • Create a separate Base Test class.

  • Move One Time Set Up hook to BaseTest class.

  • Run all the tests and make them pass.

  • Move RequestWithAuth method’s implementation to BaseTest class.

  • Run all the tests one more time and make them pass.

3
Parametrized Tests for ID

Here is our agenda for today:

  • We will discuss what a parametrized test is.

  • Create a Parametrized Tests’ arguments holder class.

  • Generate a Parametrized Tests’ arguments provider class.

  • Change NUnit Test to Parametrized NUnit Test type.

4
Parametrized Tests for ID - Home Task

Your home task is to transform your validation test for GET Card by ID endpoint from a Test into a Parametrized Test. What you should do is:

  • Create a separate Card ID Validation Arguments Holder class.

  • Build Card ID Validation Arguments Provider class.

  • Place there all parameters you want to pass to your test.

  • Do not forget to add Test Case Source attribute for this method.

5
Parametrized Tests for Authorization

Here is our agenda for today:

  • Create one more parametrized test.

  • Add another ArgumentsHolder class.

  • Create ArgumentsProvider class for transformed test.

  • Refactor updated test according to changes.

6
Parametrized Tests for Authorization - Hometask

Your home task is to increase test coverage for GET Card by ID endpoint for authorization validation. You should do the following:

  • Create a separate AuthValidationArgumentsHolder class.

  • Build AuthValidationArgumentsProvider class.

  • Place there all parameters you want to pass to your test.

  • Do not forget to add TestCaseSource attribute for this method.

7
Improve Test Framework Structure

Here is our agenda for today:

  • Improve packages structure in framework.

  • Move all URLs for Cards endpoints to constants.

  • Place path parameters to constants.

  • Put query parameters as const in separate class.

8
Improve Test Framework Structure - Hometask

Your home task is to perform the final refactoring for your test framework covering GET Cards Endpoints. You should do the following:

  • Move BaseTest and its descendants to separate packages.

  • Put all Get Cards endpoints’ URLs into separate classes.

  • Move all path params for automated tests to constants.

  • Transform authorization query params into read-only variables in constants class.

HTTP Method POST - Rest Sharp

1
POST Method with Rest Sharp

Here is our agenda for today:

  • We will add test for Create Board endpoint.

  • Find how to add JSON body to Rest Request.

  • See how to execute a complete Entity Creation API flow test in Rest Sharp.

  • Observe how to clean up test resources correctly.

  • Understand how to share resources between tests and hooks.

2
POST Method with Rest Sharp - Hometask

Your home task is to create an automated test for happy path flow for Create Card endpoint in Trello. What you should do is:

  • Create a separate class, and test method in your framework.

  • Send new card name and ID List body parameters in request.

  • Check that new card is added to the list by its ID.

  • Store created Card ID in the test class’s field.

  • Delete the created card in Tear Down hook.

3
POST Method Validation with Rest Sharp

Here is our agenda for today:

  • We will add validation tests’ class for Create Board endpoint.

  • Validate name body parameter for this URL.

  • Verify authorization query parameters here.

  • Add one more field to our AuthValidationArgumentsHolder class.

  • Make all our validation tests parametrized.

4
POST Method Validation with Rest Sharp - Hometask

Your home task is to create automated tests for different validation cases for Create Card endpoint in Trello. What you should do is:

  • Add error Message field to your AtuhValidationArgumentsHolder class.

  • Verify name and ID List body params for this request.

  • Check that endpoint can process request with differently broken authorization query params.

  • See that Create Card endpoint doesn’t allow you to create a card using another user’s credentials.

  • Mark two your validation tests as the parameterized ones.

HTTP Method PUT - Rest Sharp

1
PUT Method with Rest Sharp

Here is our agenda for today:

  • We will add a tests’ class for Update Board endpoint.

  • Generate unique name for updated board.

  • Verify response status code and body.

  • Send one more request in our test method.

  • Verify board name actually updated in boards storage.

2
PUT Method with Rest Sharp - Hometask

Your home task was to create automated test for Update Card endpoint in Trello. What you should do is:

  • Add CARD ID TO UPDATE URL’s constant.

  • Generate unique name for name body param.

  • Check name body’s param and status code in the response.

  • Send Get Specific Card request with the card ID to update as the path param.

  • Verify value of name body parameter in the response.

3
PUT Method Validation with Rest Sharp

Here is our agenda for today:

  • We will add validation tests’ class for Update Board endpoint.

  • Validate ID path parameter for this URL.

  • Verify authorization query parameters here.

  • Make all our validation tests parametrized.

4
PUT Method Validation with Rest Sharp - Hometask

Your home task was to create automated tests for different validation cases for Update Card endpoint in Trello. What you should do is:

  • Verify ID path params for this request.

  • Check that endpoint can process request with differently broken authorization query params.

  • See that Update Card endpoint doesn’t allow you to create a card using another user’s credentials.

  • Mark two your validation tests as the parameterized ones.

HTTP Method DELETE - Rest Sharp

1
DELETE Method with Rest Sharp

Here is our agenda for today:

  • We will add a tests’ class for Delete Board endpoint.

  • Create new board before each test run.

  • Verify response status code and body.

  • Verify removed board does not exist in boards storage.

2
DELETE Method with Rest Sharp - Hometask

Your home task is to create automated test for Delete Card endpoint in Trello. What you should do is:

  • Store new card’s ID in test class’s field.

  • Generate new card before each delete test.

  • Check _value body’s param and status code in the response.

  • Send Get All Cards request.

  • Verify new card is removed in the response.

3
DELETE Method Validation with Rest Sharp

Here is our agenda for today:

  • We will add validation tests’ class for Delete Board endpoint.

  • Validate ID path parameter for this URL.

  • Verify authorization query parameters here.

  • Make all our validation tests parametrized.

4
DELETE Method Validation with Rest Sharp - Hometask

Your home task is to create automated tests for different validation cases for Delete Card endpoint in Trello. What you should do is:

  • Verify ID path params for this request.

  • Check that endpoint can process request with differently broken authorization query params.

  • See that Delete Card endpoint doesn’t allow you to remove a card using another user’s credentials.

  • Mark two your validation tests as the parameterized ones.

Run Rest Sharp Tests via CMD

1
Run Automated Tests via CMD

Here is our agenda for today. We will learn:

  • Why we need to run tests via CMD?

  • Which .NET tasks can be used to do so?

  • How to run our tests via CMD?

  • How to generate a test report in .NET?

  • Where test results report is stored?

2
Run Automated Tests via CMD - Hometask

Your home task is to run your amazon.com test application via the command line and to find the test results’ report in the project’s output directory. What you should do is:

  • Verify that .NET is installed on your machine

  • Check that your test is marked with [Test] attribute

  • Open CMD in the test project’s root

  • Execute two .NET commands clearing project’s output directory and starting your automated tests

  • Investigate HTML tests’ report

Bonus - Automated Test in Postman

1
First Test in Postman

Today we will learn:

  • How to create automated test in Postman?

  • How to check the response status code?

  • How to verify the response has a JSON body?

  • How to see and evaluate test results?

Rest Sharp Version Update

1
Trello Test Framework Actualization to the Latest Changes

Today, we will discuss the following:

  1. What is the plan to update Rest Sharp library to the latest version?

  2. How we can update the tests to the latest changes in Trello API?

  3. How to make the new tests pass despite the Trello API change.

2
Rest Sharp Version Updagrade (106.13.0 -> 110.2.0). Part 1

Today, we will go through the following points:

1. Which libraries do we plan to update?

2. What is the best set of steps to update a library?

3. How to fix the basic set of errors you see after RestSharp library update.

4. How to optimize the error fix process.

5. How to move most of the new logic to the base class.

3
Rest Sharp Version Updagrade (106.13.0 -> 110.2.0). Part 2

Today we will learn the following:

1. How to reuse logic during migration between library versions.

2. How to avoid code duplication between different test classes.

3. How frequently to rebuild the solution during the refactoring.

4. How to treat asynchronous operations in the right way.

Programming Knowledge Test

1
Programming Knowledge Test
You can view and review the lecture materials indefinitely, like an on-demand channel.
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don't have an internet connection, some instructors also let their students download course lectures. That's up to the instructor though, so make sure you get on their good side!
4.2
4.2 out of 5
133 Ratings

Detailed Rating

Stars 5
68
Stars 4
43
Stars 3
15
Stars 2
4
Stars 1
2
4d836edff77639ea9b0cdc094497e46c
FREE For First 1000 Enrolls

Includes

10 hours on-demand video
1 article
Full lifetime access
Access on mobile and TV
Certificate of Completion

External Links May Contain Affiliate Links read more

Join our Telegram Channel To Get Latest Notification & Course Updates!
Join Our Telegram For FREE Courses & Canva PremiumJOIN NOW