Last updated 4/2023Course Language EnglishCourse Caption English [Auto]Course Length 19:18:06 to be exact 69486 seconds!Number of Lectures 122
This course includes:
19.5 hours hours of on-demand video
1 article
Full lifetime access
Access on mobile and TV
Certificate of completion
Automation Testing
Selenium Webdriver from Basics to Advanced Level
Learn best practices from true programmers
Learn how to write scalable, readable and maintainable clean code
You will learn source code of the tutor. All homework is completed with the Trainer
Visual Studio
NUnit 3
Selenium basics
Selenium in C#
Selenium Waits
Page Object concept
Web Component concept
Data Transfer Object concept
Postman basics
API baiscs
REST API
RESTful Web Services
HTTP methods
HTTP status codes
JSON schemas
API testing
RestSharp from basics to advanced
From this course, you can learn how to become Software Development Engineer in Test and get all the necessary practical skills.There are a lot of other courses on this topic. So, why would you choose exactly this course? Here are just a few reasons:- Coding examplesTo learn to program is not enough just watching videos and reading books. You also need to have a lot of practice. In this training course, you will review multiple practical tasks and coding examples which will help you learn and understand C# better.- Open source codeWe hide nothing from our students! Including the source code for the home task solutions and source code of examples that were shared during the lesson. Having the source code you can just copy and paste it to run it on your local computer to understand how things work better.You are allowed to use all source code examples for learning purposes. This helps significantly to configure the environment and make tests work, especially in case students didn't work with any testing framework in the past.- Q&A support The significant difference between the online and offline learning process is the instructor's availability. If you are in one room with a tutor he always can help you to get understand the specific concept or to help fix your code on your computer. In this course, we are supporting students with answers to any questions flagged in the Q&A section. In case there will be recurring questions - separate video lessons will be created to show how to address the issue. So with this course you are not just getting video materials, code exercises, source code, access to the free mobile application without limits (which is still pretty cool, huh? :) ), but you also get tutor support and answers to your questions along with this course. - Relevant knowledgeAfter our team investigated other C# courses on Udemy we realized that most of them have nothing in common with real life. The information which is shared there is very old and significantly out of date. For example, the instructor teaches a framework which is not been used already for 15 years. Or instructors do stress on the programming design which is not used anymore at all!The instructor of this course is a consultant in a top-rated IT outsourcing company and helps to bring cutting-edge solutions in IT for all his clients. Feel free to check the LinkedIn page of the instructor and check skills endorsement. More than 19 thousand people across all over the world (BTW most of them are from the top 100 companies of the world) evaluated the skills of Andrii Piatakha. With this course, you can be sure that you will spend your time learning the right things from one of the best IT consultants in the world. - Free mobile App without limits for our studentsKnowing C# is one skill. Be able to pass interviews in the company - that is another skill :) Nowadays a lot of companies use tests to select candidates on the first level of interview. We developed applications to practice skills specifically for such purposes. In this course, we will provide you link to download our FREE mobile app for android. (soon it will be also available for iOS platforms) The instructor of this course comes up with hundreds of tests that are used to test the knowledge of candidates. With this application, you will be well-prepared for the interview. Also, only for our students - there is no limit on attempts to pass certification. In the course, we will tell you how to set up a special bonus code that will remove restrictions for our students inside the app.- High concentration of useful material in each lessonSometimes you can notice that watching 5 minutes of our lesson is equivalent to watching another 30 minutes lesson. This is because time spent for preparation for the lesson (script for the lesson, lesson structure) and video editing (to cut boring pieces of the lesson or time when the program loads) sometimes 10 times as much (sometimes even 20) as the final lesson duration after video editing.Also, each topic is separated from another. In case some concept will be explained in the next lesson and you don't need to worry about understanding this in the scope of this lesson - the instructor will make an announcement when a specific topic will be covered. Go and try it yourself! We will appreciate your feedback.So don't wait! Take a look at the lessons' preview if you still have doubts! Buy this course today, and you will get all updates for FREE! For those who successfully passed this training course, or for students who were recognized for asking amazing questions, there is a special offer from the IT-Bulls company! The creator of this course is IT-Bulls company CEO and Founder. We are always in search of talents to run our amazing startups together with you. Probably you always dreamed about running your startup? In this course, you will be able to find the team who will teach you how to do that and (in particular cases) will be glad to help with implementation! Hope you enjoy this course! And remember, we appreciate all your feedback! Your feedback will help us to become even better! Your feedback will help us to create to best C# course ever! See you at the lessons! :)Who this course is for:Test Automation Engineers who want improve their skills to become SDETPeople who want to learn Automation Testing from scratch to advanced level
Course Content:
Sections are minimized for better readability, click the section title to view the course content
3 Lectures | 09:40
Introduction
04:45
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.
Communication Plan
04:10
Where to ask questions?
When to ask questions?
Communication channels:
Comments under the video
Linkedin
Facebook
Instagram
Feedback form on the IT-Bulls.com
Tips to Improve Your Course Taking Experience
00:45
5 Lectures | 39:58
Install Visual Studio 2022 Community Edition
05:05
Create Your First C# Console Project
08:14
Visual Studio 2022 Community Edition Tour
15:29
Understand the Difference between .NET 6 and Previous Versions
09:27
Section Review
01:43
7 Lectures | 02:05:07
Understand Basic C# Syntax
18:11
Input and Output Programs
16:27
C# Data Types and Conversion
23:30
Application Debugging Techniques
10:39
Arithmetic and Assignment Operators
12:46
Conditional Statements
24:28
Repetition Statements
19:06
7 Lectures | 02:06:16
Methods - Void
13:57
Methods - Value Returning
14:12
String Manipulation Functions
22:40
DateTime Manipulation Functions
19:09
Exception Handling
14:47
Arrays
21:04
Lists
20:27
5 Lectures | 01:29:43
Introduction to Classes and Objects
30:43
Method Overloading
08:03
Static Classes and Static Class Members
11:36
Inheritance with Classes and Interfaces
26:35
Constructors
12:46
2 Lectures | 12:15
Create GitHub Account
01:17
Add Solution To Source Control
10:58
5 Lectures | 43:44
API and Web Service
08:50
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?
API Types Overview
08:50
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?
REST API Overview
07:57
Today we will learn:
What is REST API?
What are its architectural properties?
Why is it needed in Web Applications?
Advantages of REST API
HTTP methods
07:01
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?
HTTP Status Codes
11:06
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?
5 Lectures | 40:22
Postman Introduction
06:41
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.
Postman Installation
12:52
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?
Trello Account Creation
08:02
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?
Authorization Token Creation in Trello
09:06
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?
Authorization Token Creation in Trello - New Trello Version
03:41
Today we will learn how to create API Key and Token for updated version of Trello
7 Lectures | 01:03:14
GET Method Overview
07:58
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?
GET Method in Postman
12:44
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?
GET Method in Postman - Hometask
06:34
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.
JSON Schema Validation
14:52
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?
JSON Schema Validation - Hometask
06:29
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.
GET Method Validation in Postman
09:07
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?
GET Method Validation in Postman - Hometask
05:30
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.
5 Lectures | 34:15
POST Method Overview
08:23
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?
POST Method in Postman
07:45
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?
POST Method in Postman - Hometask
05:24
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.
POST Method Validation in Postman
06:59
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?
POST Method Validation in Postman - Hometask
05:44
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.
5 Lectures | 33:21
PUT Method Overview
07:40
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?
PUT Method in Postman
07:52
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?
PUT Method in Postman - Hometask
05:11
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.
PUT Method Validation in Postman
06:48
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?
PUT Method Validation in Postman - Hometask
05:50
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.
5 Lectures | 30:12
DELETE method overview
07:14
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?
DELETE Method in Postman
06:44
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?
DELETE Method in Postman - Hometask
04:03
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.
DELETE Method Validation in Postman
07:04
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?
DELETE Method Validation in Postman - Hometask
05:07
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.
1 Lectures | 08:17
Variables in Postman
08:17
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?
1 Lectures | 08:32
First Test in Postman
08:32
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?
2 Lectures | 20:18
Visual Studio Installation
11:13
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?
Dot Net Installation
09:05
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
7 Lectures | 46:34
Rest Sharp Introduction
06:28
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.
First application with Rest Sharp
11:26
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
First application with Rest Sharp - Hometask
03:46
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
First assertion with Rest Sharp
06:53
Here is our agenda for today:
Check the response status code
Add new dependency to the project
See how to log the response received
First assertion with Rest Sharp - Hometask
03:42
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
First test with Rest Sharp
10:53
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.
First test with Rest Sharp - Hometask
03:26
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.
6 Lectures | 47:44
GET Method with Rest Sharp
09:56
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.
GET Method with Rest Sharp - Hometask
05:29
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.
JSON Schema Validation with Newtonsoft Json
11:40
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
JSON Schema Validation with Newtonsoft Json - Hometask
04:44
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.
GET Method Validation with Rest Sharp
09:22
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.
GET Method Validation with Rest Sharp - Hometask
06:33
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.
8 Lectures | 01:06:01
Create BaseTest class
12:38
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.
Create BaseTest class - Home Task
05:05
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.
Parametrized Tests for ID
11:59
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.
Parametrized Tests for ID - Home Task
06:02
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.
Parametrized Tests for Authorization
08:11
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.
Parametrized Tests for Authorization - Hometask
04:12
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.
Improve Test Framework Structure
12:52
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.
Improve Test Framework Structure - Hometask
05:02
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.
4 Lectures | 40:46
POST Method with Rest Sharp
14:04
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.
POST Method with Rest Sharp - Hometask
07:46
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.
POST Method Validation with Rest Sharp
11:42
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.
POST Method Validation with Rest Sharp - Hometask
07:14
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 bodyparams 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.
4 Lectures | 29:31
PUT Method with Rest Sharp
10:30
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.
PUT Method with Rest Sharp - Hometask
05:13
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.
PUT Method Validation with Rest Sharp
09:05
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.
PUT Method Validation with Rest Sharp - Hometask
04:43
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 pathparams 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.
4 Lectures | 27:40
DELETE Method with Rest Sharp
10:03
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.
DELETE Method with Rest Sharp - Hometask
04:24
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.
DELETE Method Validation with Rest Sharp
08:49
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.
DELETE Method Validation with Rest Sharp - Hometask
04:24
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 pathparams 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.
2 Lectures | 13:41
Run Automated Tests via CMD
10:47
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?
Run Automated Tests via CMD - Hometask
02:54
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
3 Lectures | 29:04
Selenium Introduction
09:41
Here is our agenda for today:
We will talk with you a bit about Selenium history
Consider main components of Selenium
Understand why we should learn Selenium Web Driver
Role of the Selenium in the software testing process
Setup simple application
14:50
Today we will:
We will create a test project
Learn the basics of NuGet packages
Set up Chrome driver
Navigate to URL via Selenium
Find UI elements and interact with them as C# objects
Perform some user flow basic operations with web application
See what tear down hook is in Selenium
Setup simple application - Home Task
04:33
Today we will see the solution for the first home task. The home task was the following:
Create a project in Visual Studio
Add Selenium and WebDriver Manager dependencies.
Open Amazon home page.
Search for ‘iphone’.
Close browser after test’s run finishes.
4 Lectures | 34:30
NUnit Assertions
11:15
Today we will:
Add NUnit dependency to our project
Gather actual results for comparison from UI
Learn how to create expected results for tests
Gather text from UI elements
Work with C# LINQ
Apply NUnit assertion to our application
NUnit Assertions - Home Task
05:58
Today we will see the solution for the home task with first assertion. The home task was the following:
add NUnit dependency to your project
collect actual results from UI
apply Assert. True() method for your actual result
collect expected results from actual results
apply Assert.AreEqual() method to compare actual and expected lists.
First test in NUnit
12:36
Today we will:
Consider main NUnit features
Investigate different NUnit hooks
Get rid of Main() method
Create our first NUnit test
Add NUnit hooks
First Selenium test with NUnit - Home Task
04:41
Today we will see the solution for the home task with Main() method transformation into an NUnit test method. The home task was the following:
Remove Main() method
Create test class
Add one NUnit test method with [Test] attribute
Add NUnit [OneTimeSetUp] and [OneTimeTearDown] hooks to setup and tear down web driver
4 Lectures | 27:23
Implicit waits
09:59
Today we will learn:
Why we need Waits in Selenium?
What are implicit waits in Selenium?
How to apply implicit waits in your project?
Implicit waits - Home Task
03:15
Today we will see the solution for the home task with implicit waits setup. You should do the following:
Set up implicit wait timeout on web driver level
Create a method that will check an element presence
Handle NoSuchElementException inside this method
Do not print the date and time to the console
Use Assert.True() method to check element with valid selector presence
Use Assert.False() method to check element with invalid selector presence
Explicit waits
09:59
Today we will learn:
What are explicit waits in Selenium?
How are they connected with implicit waits?
How to apply explicit waits in your project?
Explicit waits - Home Task
04:10
Today we will see the solution for the home task with explicit waits setup. You should do the following:
Create WebDriverWait field instance for the test class
Add IsElementVisibleExplicitWait method
Use Until method to wait for web element to be present in selected timeout
Switch off implicit wait before calling the explicit one
Capture date and time before and after wait.Until method call
6 Lectures | 01:06:56
Page Object
15:52
Today we will learn Page Object concept in Selenium and apply it in our test project. We will learn:
What is a Page Object?
Page Object components
How does Page Object work?
Compose our test from Page Objects
Create a common Base Page class
Page Object - Home Task
04:47
Today we will see the solution for the home task with the page object concept in this video series. The home task was the following:
Create a Base Page class.
Move initialization logic common for all the pages to this class.
Create HomePage and SearchResultsPage
Put the elements needed for your test on these pages
Add methods needed for your test to Page Objects
Run your tests and achieve a 100% pass
Web Component
19:55
Today we will learn the Web Component concept in Selenium and apply it in our test project. We will learn:
What is Web Component in Selenium?
How is Web Component related to Page Object?
Why we need Web Components?
How to write a custom wrapper for IWebElement?
How to initialize Web Components on Page Object?
How to split our Page Objects into Web Components
Web Component - Home Task
05:53
Today we will see the solution for the home task with the Web Component concept. The home task was the following:
Create a Base Web Component class.
Move logic wrapping root element actions to this class.
Create Web Components needed for your tests
Put the business logic from your tests to these components
Inject the components into Web Pages created in previous homework
Run your tests and achieve 100% pass
Data Transfer Object
16:19
Today we will learn:
What is Data Transfer Object (DTO)?
Why is it needed in automated testing?
How to create DTO correctly
How to create DTO in our project
Differences between DTO and simple assertions
Data Transfer Object - Home Task
04:10
Today we will see the solution for the home task with the Data Transfer Objects concept. The home task was the following:
Create a class representing Search Result item as DTO
Add all the fields important to your test to this component
Override Equals() and GetHashCode() methods for correct Assertions’ work
Override ToString() method to improve Assertion failure message verbosity
Create a method converting your SearchResultItemComponent into DTO
2 Lectures | 13:00
Run tests via Command Line
10:32
Today we will learn:
Why do 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 with .NET?
Where is the test results report stored?
Run tests via Command Line - Home Task
02:28
Today we will see the solution for the home task with running test via CMD. The home task was the following:
Check that your test is marked with [Text] 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
2 Lectures | 27:11
CSS selectors basics
15:40
Today we will learn:
Discuss what CSS selector is
Observe why we should use CSS selectors
Find out how to install Chro Path plugin
Review common CSS patterns
Apply CSS selectors in practice
XPath selectors basics
11:31
Today we will learn:
Discuss what XPath selector is
Observe why we should use XPath selectors
Find out the difference between absolute and relative XPath
Review common XPath patterns
Apply XPath selectors in practice
1 Lectures | 02:51
Bonus lesson
02:51
3.1
(32 course ratings)
1
2/32
2
2/32
3
3/32
4
6/32
5
19/32
JOIN OUR WHATSAPP GROUP TO GET LATEST COUPON AS SOON AS UPDATED
If you like to get inspired by great web projects, you should check out Made with Javascript. If you have a project that you wish to share with the world, feel free to submit your project on Made with Javascript Club website.
Free Online Tools And Converters for your use
URL Encoder
Input a string of text or a URL and encode the entered string
FAQ: Udemy Free course Most frequent questions and answers
Does Udemy offer Free Udemy coupons?
Yes, Udemy is the largest online education platform, with the broadest selection of video-on-demand courses and qualified instructors available to meet your needs. At theprogrammingbuddy.club we curate the latest udemy coupons, their expiry, and the number of uses left of these udemy coupons.
How to get free Udemy courses?
There are two ways to get free Udemy courses:
Go to udemy.com and search for your desired course category. Then select free from the filter options.
You can also get paid courses for free if you have a coupon. You can head to theprogrammingbuddy.club, where you can get a daily udemy paid course for free.
How to get Udemy Certificates for free?
Udemy offers certification on completion of each course. In order to receive a certificate of completion from Udemy, you need to complete your course 100%. There is a simple hack, you can open a video and jump on the timeline to complete a lecture.
To download the certificate from Udemy, you need to head over to your account on a desktop browser. Udemy certificates can't be accessed on the mobile app.
Do Udemy courses expire?
No, once you enroll, you will have lifetime access to the course. You can complete the course on your schedule.
Why are the Udemy instructors giving away free Udemy Coupons?
Every instructor has worked for hours on each of their courses. As new courses get launched, the instructors have no way to get their course in front of an audience to get some feedback. So, instructors share free coupons for their courses to get feedback from the students. We attheprogrammingbuddy.club work with these instructors to get their courses available to our buddies.
Is Udemy safe to use?
Yes, payments on Udemy are safe. It is no different than paying for other services on an application or website and inputting your payment information before receiving your goods. Just be sure to keep your account secure, do not share your udemy accounts.
Can Udemy courses get you a job?
Earning a skill is more valuable than earning a job these days. Skills are your most valuable asset. They can help you qualify for jobs you want and get promoted to more advanced positions within your organization. Unfortunately, it is difficult for many people to balance taking courses with work and family obligations. We have had many students, who have taken just Udemy courses, started a job as well as started freelancing with the skills they have learned.