C# Test Automation Engineer - from Zero to Hero
- Description
- Curriculum
- FAQ
- Reviews
Are you ready to launch your career as a Test Automation Engineer using C#? Whether you’re a complete beginner or already have some experience, this course is your fast track to becoming a C# Test Automation Hero!
In today’s dynamic tech landscape, Test Automation Engineers are in high demand. This comprehensive course takes you from zero knowledge to mastering C# for test automation, equipping you with the skills needed to excel in this exciting field.
What You Will Learn:
-
C# Fundamentals: Start with the basics of C# programming and build a solid foundation, even if you’ve never coded before.
-
Selenium WebDriver: Unlock the power of Selenium WebDriver to automate web applications effectively and efficiently.
-
Page Object Model (POM): Learn the industry-standard design pattern for creating maintainable and scalable test automation frameworks.
-
Test Frameworks: Build your own test automation frameworks from scratch, ensuring your tests are robust and adaptable.
-
Advanced Topics: Explore advanced concepts such as API testing with Rest Sharp.
-
Real-World Projects: Apply your newfound skills to real-world projects that mimic the challenges faced by Test Automation Engineers in the industry.
-
Best Practices: Discover best practices for writing clean, efficient, and maintainable automation code.
Why Enroll in This Course?
-
Hands-On Learning: Gain practical experience through hands-on exercises, quizzes, and projects that reinforce your skills.
-
Expert Instruction: Learn from experienced instructors who are passionate about helping you succeed in test automation with C#.
-
Career Advancement: Enhance your career prospects by becoming proficient in a skill set highly sought after by leading tech companies.
-
Lifetime Access: Enjoy lifetime access to course materials, updates, and a supportive online community.
Don’t miss this opportunity to become a C# Test Automation Hero! Enroll today and embark on a rewarding journey toward a successful career in test automation.
-
1IntroductionVideo lesson
-
2Communication planVideo lesson
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.
-
3How to Use ResourcesVideo lesson
In this video lesson you will learn how to use resources for the lectures.
-
4Tips to Improve Your Course Taking ExperienceText lesson
-
5API and Web ServiceVideo lesson
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?
-
6API Types OverviewVideo lesson
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?
-
7REST API OverviewVideo lesson
Today we will learn:
What is REST API?
What are its architectural properties?
Why is it needed in Web Applications?
Advantages of REST API
-
8HTTP methodsVideo lesson
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?
-
9HTTP Status CodesVideo lesson
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?
-
10Postman IntroductionVideo lesson
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.
-
11Postman InstallationVideo lesson
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?
-
12Trello Account CreationVideo lesson
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?
-
13Authorization Token Creation in TrelloVideo lesson
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?
-
14Authorization Token Creation in Trello - New Trello VersionVideo lesson
Today we will learn how to create API Key and Token for updated version of Trello
-
15GET Method OverviewVideo lesson
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?
-
16GET Method in PostmanVideo lesson
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?
-
17GET Method in Postman - HometaskVideo lesson
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.
-
18JSON Schema ValidationVideo lesson
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?
-
19JSON Schema Validation - HometaskVideo lesson
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.
-
20GET Method Validation in PostmanVideo lesson
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?
-
21GET Metod Validation in Postman - HometaskVideo lesson
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.
-
22POST Method OverviewVideo lesson
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?
-
23POST Method in PostmanVideo lesson
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?
-
24POST Method in Postman - HometaskVideo lesson
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.
-
25POST Method Validation in PostmanVideo lesson
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?
-
26POST Method Validation in Postman - HometaskVideo lesson
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.
-
27PUT Method OverviewVideo lesson
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?
-
28PUT Method in PostmanVideo lesson
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?
-
29PUT Method in Postman - HometaskVideo lesson
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.
-
30PUT Method Validation in PostmanVideo lesson
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?
-
31PUT Method Validation in Postman - HometaskVideo lesson
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.
-
32DELETE method overviewVideo lesson
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?
-
33DELETE Method in PostmanVideo lesson
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?
-
34DELETE Method in Postman - HometaskVideo lesson
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.
-
35DELETE Method Validation in PostmanVideo lesson
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?
-
36DELETE Method Validation in Postman - HometaskVideo lesson
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.
-
39Visual Studio InstallationVideo lesson
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?
-
40Dot Net InstallationVideo lesson
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
-
41Rest Sharp IntroductionVideo lesson
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.
-
42Mastering RestSharp: A Comprehensive Guide for BeginnersVideo lesson
In today's lecture, we will learn:
Intricacies of Rest Sharp.
RestClient, RestRequest, and RestResponse
Practical RestSharp use cases.
-
43First application with Rest SharpVideo lesson
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
-
44First application with Rest Sharp - HometaskVideo lesson
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
-
45Mastering NUnit for BeginnersVideo lesson
Today we will learn:
NUnit role in development.
Essential NUnit components.
NUnit Assert functions
Impeccable tests with NUnit.
Real-world NUnit use-cases.
-
46First assertion with Rest SharpVideo lesson
Here is our agenda for today:
Check the response status code
Add new dependency to the project
See how to log the response received
-
47First assertion with Rest Sharp - HometaskVideo lesson
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
-
48First test with Rest SharpVideo lesson
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.
-
49First test with Rest Sharp - HometaskVideo lesson
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.
-
50GET Method with Rest SharpVideo lesson
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.
-
51GET Method with Rest Sharp - HometaskVideo lesson
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.
-
52Newtonsoft JSON GuideVideo lesson
Today we will learn:
Deep dive into Newtonsoft JSON.
Newtonsoft JSON Components.
This library’s Importance.
Newtonsoft Functionality.
Real-life cases of usage.
-
53JSON Schema Validation with Newtonsoft JsonVideo lesson
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
-
54JSON Schema Validation with Newtonsoft Json - HometaskVideo lesson
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.
-
55GET Method Validation with Rest SharpVideo lesson
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.
-
56GET Method Validation with Rest Sharp - HometaskVideo lesson
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.
-
57Inheritance BasicsVideo lesson
Today we will learn:
Inheritance as an OOP concept.
How inheritance works in C#.
Practical examples of C# inheritance.
-
58Create BaseTest classVideo lesson
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.
-
59Create BaseTest class - Home TaskVideo lesson
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.
-
60Parameterized NUnit TestsVideo lesson
Today we will learn:
Parameterized Tests in NUnit.
How Parametrization works.
The main parts of Parametrization.
Real-world use-cases of Parametrization.
-
61Parametrized Tests for IDVideo lesson
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.
-
62Parametrized Tests for ID - Home TaskVideo lesson
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.
-
63Parametrized Tests for AuthorizationVideo lesson
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.
-
64Parametrized Tests for Authorization - HometaskVideo lesson
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.
-
65Code Structure ImportanceVideo lesson
Today we will learn:
Why test code structure is crucial.
Fundamentals of proper structure.
Real-world examples of code structure.
API testing process optimization.
-
66Improve Test Framework StructureVideo lesson
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.
-
67Improve Test Framework Structure - HometaskVideo lesson
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.
-
68POST Method with Rest SharpVideo lesson
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.
-
69POST Method with Rest Sharp - HometaskVideo lesson
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.
-
70POST Method Validation with Rest SharpVideo lesson
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.
-
71POST Method Validation with Rest Sharp - HometaskVideo lesson
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.
-
72PUT Method with Rest SharpVideo lesson
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.
-
73PUT Method with Rest Sharp - HometaskVideo lesson
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.
-
74PUT Method Validation with Rest SharpVideo lesson
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.
-
75PUT Method Validation with Rest Sharp - HometaskVideo lesson
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.
-
76DELETE Method with Rest SharpVideo lesson
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.
-
77DELETE Method with Rest Sharp - HometaskVideo lesson
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.
-
78DELETE Method Validation with Rest SharpVideo lesson
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.
-
79DELETE Method Validation with Rest Sharp - HometaskVideo lesson
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.
-
80Run Automated Tests via CMDVideo lesson
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?
-
81Run Automated Tests via CMD - HometaskVideo lesson
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
External Links May Contain Affiliate Links read more