Autoplay
Autocomplete
Previous Lesson
Complete and Continue
Complete Selenium Webdriver with C# - Build A Framework
Introduction
1-1 Introduction to the Course (1:52)
1-2 What will be Covered in the C# Portion (3:37)
1-3 Selenium Overview (0:54)
1-4 What will be covered in the Selenium Portion Edited (4:13)
1-5 Bonus (0:58)
1-6 Introduction to the Instructor (2:45)
Supporting Research Regarding Future Automation Trends
Selenium Webdriver Resources
Help, I have a Selenium Error
Frequently Asked Questions
Download This Section
Introduction to C# and Visual Studio
Instructor Intro (1:00)
Concepts Covered (2:44)
Downloading Visual Studio (1:54)
Getting to Know VS (3:37)
Creating a Console Project (4:28)
Understanding Solutions (5:02)
Creating a Web Application Project (6:41)
Creating a Class Library (4:23)
Creating a Unit Test Project (2:32)
C# Coding Standards (3:48)
Coding Convention Example Pt 1 (4:24)
Coding Convention Example Pt2 (4:50)
Introduction to C# and Visual Studio Quiz
Variables and Strings
Code Solutions for Variables and Strings
Declaring Variables of Simple Types (4:50)
Formatting Text Using Concatenation (5:02)
Formatting Text for Output (4:29)
Using StringFormat Method (3:08)
Verbatim Strings and Escape Sequences (3:13)
Lesson 3 Exercise (3:11)
Variables and Strings Quiz
What are your thoughts so far?
Different Types of VS Projects
Code Solutions for Different Types of VS Projects
Running a Console App (4:42)
Creating a Unit Test (4:42)
Using Assertions in Unit Tests (3:35)
Basic Debug Commands (4:12)
The Watch Window (2:25)
Other Debugging Functions (4:10)
Math, Equality Operators, If Statement
Code Solutions for Math, Equality Operators, If Statement
Math with Integers (4:14)
Different Floating Point Data Types (3:02)
Math with Decimals (4:25)
Equality and Relational Operators (3:01)
If Statements
If Else Statements (2:57)
C# Classes and Methods
Code Solutions for Classes
Classes and Objects (3:18)
Writing a Class (3:55)
Get and Set Accessors (3:48)
Auto-implemented Properties (2:25)
Constructors (1:45)
Instatiating a Class Object (4:35)
Methods in Classes (3:48)
Value vs Reference Types (2:57)
Scope of Declarations (4:25)
Class Demo Pt1 (3:21)
Class Demo Pt2 (2:59)
Class Demo Pt 3 (3:43)
Class Demo Pt4 (4:09)
Class Demo Pt5 (3:39)
Quiz
Midterm Exam
Loops and Switch Statement
Code Solutions for Loops and Switch
While Repetition (2:14)
Counter Controlled Repetition (2:24)
Sentinel Controlled Repetition (3:04)
Nested Controlled Statements (3:30)
Compound Assignment Operators (1:27)
Increment-Decrement Operators (2:35)
For Repetition (4:12)
DoWhile Loop (2:39)
Switch Statements (4:01)
Break and Continue (3:14)
Logical Operators (4:13)
Quiz
Methods
Code Solutions for Methods
The Method Called Stack (2:47)
Static Methods (4:11)
Why Static Members (5:00)
Method Overloading (2:44)
Optional Parameters (3:05)
Arrays and Lists
Code Solutions for Arrays and Lists
Declaring and Creating Arrays (4:04)
Foreach Repetition (3:28)
Passing Arrays to Methods (2:57)
Passing Array Element to Method (2:29)
Arrays vs Collections (2:53)
List Collection (3:27)
Quiz
Introduction to Object Oriented Programming
Code Solutions for OOP Concepts
Intro to Polymorphism (2:20)
Composition (5:05)
Programming with Inheritance (3:45)
Coding Inheritance Pt1 (3:06)
Coding Inheritance Pt2 (2:57)
Coding Inheritance Pt3 (3:37)
Coding Inheritance Pt4 (3:43)
Coding Inheritance Pt5 (4:04)
Protected Keyword (2:27)
Abstract Classes (3:28)
Abstract Methods (3:58)
Virtual Keyword (3:18)
Sealed Classes and Methods (2:52)
Intro to Interfaces (3:34)
Creating an Interface
Implementing Interfaces (3:36)
Using Polymorphism with Interfaces (3:14)
Testing Interfaces (4:22)
Interface Code Comparison Pt1 (4:53)
Interface Code Comparison Pt2 (4:59)
Common Interfaces in FCL Pt1 (3:31)
Common Interfaces in FCL Pt2 (3:54)
Carbon Footprint Exercise Pt1 (5:01)
Carbon Footprint Exercise Pt2 (4:55)
Carbon Footprint Exercise Pt3 (4:36)
Carbon Footprint Exercise Pt4 (3:58)
Object Oriented Programming Exam
Exception Handling
Code Solutions for Exception Handling
Exception Handling (2:44)
Try Catch Block (4:01)
Catch Block (1:55)
Finally Block (2:55)
Throw Keyword (2:19)
JSON
Code Solutions for JSON
Intro to JSON (4:18)
JSON Structure (7:26)
Installing JSON Library (4:17)
Creating JSON Strings (4:49)
Deserialize JSON Strings (4:33)
JSON Demo Pt1 (4:38)
JSON Demo Pt2 (4:46)
JSON Demo Pt3 (4:24)
JSON Currency Project Pt1 (4:46)
JSON Currency Project Pt2 (4:47)
JSON Currency Project Pt3 (5:02)
JSON Currency Project Pt4 (4:58)
Understanding the Automation Framework
Sample Selenium Webdriver Framework
What is Automated Testing (3:57)
Framework Classes Overview (4:34)
AutomationTestingPracticePage Class (4:49)
Pages Class (4:34)
Pages Class 2 (4:29)
Pages Class 3 (4:49)
Browser Class (4:36)
Browser Class 2 (4:47)
TestBase Class (4:28)
TestBase Class 2 (4:43)
AutomationTestingPageOpens Class (4:49)
AutomationTestingPageOpens Class2 (4:38)
AutomationTestingPageOpens Class 3 (4:37)
Running the Test Code (4:38)
Running the Test Code 2 (4:54)
What is Automation Testing?
4-1 Introduction to Automation Testing (3:03)
4-2 Next Topics (1:26)
4-3 What is Scrum (5:02)
4-4 Why Learn Scrum (4:40)
4-5 Why Learn Scrum 2 (2:14)
4-6 What is the Product Backlog in Scrum (3:48)
4-7 How to Provide Valid Estimates in Scrum (3:21)
4-8 What is a Sprint Planning in Scrum (5:00)
4-9 What is a Sprint Planning in Scrum 2 (3:30)
4-10 What is a Sprint Review and Sprint Retrospective (5:32)
4-11 Summarizing Everything that we Learned about Scrum (5:36)
4-12 Introduction to the Sprint of an Automation Tester (3:27)
4-13 Starting the Sprint as an Automation Tester (4:49)
4-14 What is a Regression Suite (5:26)
4-15 Finishing the First Sprint (2:33)
4-16 Finishing the Second Sprint as an Automation Engineer (5:13)
4-17 What is the Purpose of Testing (3:46)
4-18 Designing our First Test Case (5:48)
4-19 Designing More Test Cases (4:42)
4-20 Understanding why Manual Testing can be a Burden (4:48)
Thoughts on this section
Benefits of Automation Testing
5-1 Automation Testing Saves Time_Revised (5:16)
5-2 Automation Tests are Faster_Revised (1:48)
5-3 Automated Tests are Repeatable_Revised (3:24)
5-4 Automated Tests are Reusable (2:50)
5-5 Automated Tests Reduce Cost_Revised (1:19)
5-6 Automated Tests are Powerful and Versatile_Revised (4:06)
5-7 Summary of This Section_Revised (2:51)
What is Selenium Webdriver?
6-1 Introduction to Selenium Webdriver (0:51)
6-2 What are the Benefits of Using Selenium Webdriver (4:53)
6-3 What are the Negatives of Using Selenium Webdriver (3:03)
6-4 How Does Selenium Help us Get the Perfect Framework (2:33)
6-5 Conclusions Regrading this Section (1:56)
Installing the Right Tools
7-0-a-What is the software that you will need to work with Selenium WebDriver (3:55)
7-0-b-Resource pages (1:17)
7-0-c-How to download and install Selenium WebDriver (5:04)
7-0-d-How to download ChromeDriver (3:01)
7-0-e-How to get ChromeDriver path dynamically (6:12)
7-0-f-How to download Github projects and open them (4:16)
Important!!
What Selenium Drivers Should You Download?
7-1 Installing the Right Tools (3:06)
7-2 Making Sure that Firefox won't Auto Update (1:08)
7-3 Downloading and Opening Selenium IDE (2:11)
7-4 Downloading and Opening Firebug Plugin (2:11)
7-5 Downloading and Opening Firepath Plugin (3:19)
7-6 Conclusions (1:31)
Quiz
Download This Section
Getting Started with Selenium IDE
8-1 Recording a Test Script Using Selenium IDE (3:51)
8-2 How to Reply a Test Script Using Selenium IDE (3:52)
8-3 How to Use the IDE as an Element Identifier (4:56)
8-4 How Selenium IDE Represents our Future Code (3:58)
Element Identification with Selenium Webdriver
09-0-01-Introduction to Element Identification (2:53)
09-0-02-Prerequisites and Resources (2:11)
09-0-03-Critical Updates To Course (3:45)
09-0-04-Updates to the Framework Project (2:35)
Element Interactions Getting Started Quiz
9-2-introduction to html tags (4:42)
9-3-introduction to html attributes (4:28)
9-4-using selenium webdriver for element identification (4:23)
9-5-selenium ide for object identification (4:20)
9-6-using an id to identify elements (2:58)
9-7-using an id to identify elements with selenium webdriver (3:35)
9-8-understanding the webdriver commands (3:13)
9-9-how to use className to identify an element (3:44)
9-10-how to use Name property to identify an element (3:59)
9-11-how to use link text to identify an element in selenium (4:06)
9-12-how to use partial link text to identify an element in selenium (3:48)
9-13-how to use css to identify an element in selenium (5:17)
9-14-how to use absolute xpath to identify an element in selenium (5:55)
9-15-how to use relative xpath to identify an element in selenium (2:43)
9-16-how to use pick any tag from html body (5:27)
9-17-how to use attributes in xpath (4:06)
9-18-how to use special operators in xpath (3:55)
9-19-how to identify a button using xpath (3:16)
9-20-how to figure out if an element contains some text using xpath (2:39)
9-21-how to identify link and icon using xpath (2:50)
9-22-how to identify fields using xpath (2:05)
9-23-how to identify radio buttons using xpath (3:47)
9-24-how to identify radio buttons using index (3:18)
9-25-how to use lists using xpath (4:02)
9-26-working with tabs and toggles (4:16)
9-27-introduction to html tables (4:34)
9-28-how to get an html table in a variable (4:29)
9-29-how to use c# to find a cell value (3:19)
9-30-how to use c# to find all cells in a row (3:47)
9-31-how to use c# to find a value in a cell (5:00)
9-32-how to use c# to find a value in a cell 2 (4:48)
9-33-how to use c# to find a value in a cell 3 (2:16)
9-34-how to find a table with no id (3:28)
9-35-dom in selenium webdriver (1:36)
9-36-How to evaluate elements at run time (7:37)
20-Navigation, Manipulation, Interrogation with Selenium Webdriver
09-1-01-Navigation with Selenium WebDriver (2:02)
09-1-02-Navigation quiz (2:49)
09-1-03-Navigation quiz answer (3:49)
09-1-04-Element manipulation with WebDriver (4:39)
09-1-05-How to fill out a form (5:49)
09-1-06-Quiz on element manipulation (1:48)
09-1-07-Answer to manipulation quiz (9:42)
09-1-08-CurrentWindowHandle, WindowHandes, PageSource, Title (5:37)
09-1-09-WebDriver URL (0:56)
09-1-10-Interrogating IWebElements (3:53)
09-1-11-Learning all IWebElement properties (5:56)
09-1-12-Element interrogation quiz (3:10)
09-1-13-Element interrogation quiz answer (3:10)
Developing an Automation Testing Framework
Download the automation testing framework
10-1-Introduction (2:48)
10-2-Prerequisites before proceeding (2:41)
10-3-Positives and negatives of the POM Framework (3:45)
10-4-Downloading the POM Framework (3:35)
10-5-Downloading Resharper (2:35)
10-6-Opening visual studio and starting a new project (2:56)
10-7-How to install Selenium WebDriver Nuget packages (2:34)
10-7-1-How to fix TypeInitializationException in Selenium (3:46)
10-7-2- install the appropriate ChromeDriver (2:34)
10-7-3-how to create a relative path to the chrome webdriver (4:54)
10-7-4-how to create a relative path to the chrome webdriver 2 (2:10)
10-7-5-Wrap up on fixing the System.TypeInitializationException (3:08)
Download Selenium Webdriver Nuget package for QtpTests project
10-8-How to create a unit test project and add a reference (2:14)
10-9-How to rename a test (2:41)
10-10-proper naming conventions of tests (1:11)
10-11 How to code the first test (2:06)
10-12 Understanding the first test (2:36)
10-13-understanding the first test 2 (2:37)
10-14-understanding the first test 3 (3:26)
10-15-coding the second test (3:25)
10-16-identifying elements of the second test (3:45)
10-17-Fail, refactor, pass (3:15)
10-18-fixing the tests (2:47)
10-19-how to install chrome driver (2:30)
Refactoring
11-1-Understanding a problem with these tests (4:49)
11-2-Refactoring our test based on the DRY principle (4:21)
11-3-Refactoring our test based on the DRY principle 2 (1:46)
11-4-Comparing the 2 tests before and after refactoring (2:24)
11-5-Considering other problems with the current test (3:15)
11-6-Doing a second refactoring of the test (3:29)
11-7-Running the test and analyzing it one more time (1:44)
11-8-Automation testing Exercise (3:17)
Creating the First Automation Test
12-1-Introduction to the Page Object Model (3:12)
12-2-Introduction to the Page Object Model 2 (2:21)
12-3-Benefits of the Page Object Model (3:20)
12-4-Benefits of the Page Object Model 2 (3:18)
12-5-Words of wisdom from Albert Einstein (4:00)
12-6-How to start removing problems and creating a TestBase class (2:15)
Future fix to the TestBase Class
12-7-How to code an Initialize method for the TestBase class (2:19)
12-8-How to create a static driver and the Initialize method (3:59)
12-9-Moving the Browser class to its own file and cleaning up (2:21)
12-10-Cleaning up the new test to inherit from TestBase (4:19)
12-11-Comparing the new test with the older test (2:45)
12-12-How to create a test cleanup method (2:32)
12-13-Hermetic Test Design Pattern (4:46)
12-14-More design patterns (2:12)
12-15-Designing the test (3:07)
12-16-How to create a Pages class (3:37)
12-17-Coding the Pages class (2:32)
12-18-Coding the Pages class 2 (3:11)
12-19-Coding the LoginPage (2:26)
12-20-Adding a goto method to the Browser class (2:34)
12-21-Writing the login method of the Login page (3:55)
12-22-Running the test and checking the results (4:03)
12-23-Creating a membership page object (2:14)
12-24-Implementing the IsAt method (3:07)
12-25-Rerunning the test (3:22)
12-26-Seeing the test results of the test (1:12)
12-27-Making sure that the test fails successfully and closing comments (3:00)
Analyzing the Automation Test
13-01-comparing the 2 tests (5:09)
13-02-analyzing the test (4:07)
13-3-analyzing the test 2 (3:27)
13-4-analyzing the test 3 (4:27)
13-5-writing the second test (4:18)
13-6-analyzing the second test (4:32)
13-7-writing a 3rd test (4:05)
13-8-writing the 4th test (3:39)
13-9-coding out the page objects (3:48)
13-10-finishing the 4th test coding (2:15)
13-11-running the 4th test (4:16)
13-12-what is an implicit wait and why is it bad (4:25)
13-13-what is an explicit wait (4:19)
13-14-designing an explicit wait (3:35)
13-15-designing an explicit wait 2 (4:03)
13-16-designing an explicit wait 3 (4:18)
13-17-designing an explicit wait 4 (2:13)
13-18-designing an explicit wait 5 (3:47)
13-19-designing an explicit wait 6 (4:01)
13-20-refactoring the test (3:24)
13-21-writing a unit test (4:28)
13-22-writing a unit test 2 (4:02)
13-23-writing a unit test 3 (4:00)
13-24-refactoring our unit test (4:45)
13-25-refactoring the Goto method (4:05)
13-26-adding 2 more unit tests to the suite (4:04)
13-27-final run of the unit tests (5:07)
13-28-how to switch tabs using webdriver (4:47)
13-29-how to switch tabs using webdriver 2 (3:30)
13-30-how to switch tabs using webdriver 3 (4:47)
13-31-final test run of the last test (3:05)
Final Refactoring
14-1-introduction to this section (8:27)
14-2-refactoring the MyMembership page (4:09)
14-3-how to run all the unit tests together (3:40)
14-4-final validation of a test (2:32)
14-5-conclusions 1 (4:53)
14-6-conclusions 2 (4:44)
14-7-conclusions 3 (4:22)
14-8-conclusions 4 (4:37)
14-9-conclusions 5 (4:55)
14-10-conclusions 6 (5:21)
Debugging: Fixing Random Errors
WebDriverException: Cannot find firefox binary in PATH. Make sure firefox is...
Failed to start up socket within 45000 milliseconds...
TypeInitializationException in Selenium Wedriver - How to fix
Bonus: Parallel Test Execution with Selenium Webdriver: Test Locally or in the Cloud
1-table of contents and prerequisites for parallel testing
2-why is parallel test great
3-how to install Nuget packages for Webdriver and NUnit
4-how to install NUnit Test Adapter
5-setting up our selenium tests
6-debugging a problem and running our first test
7-dont be afraid to fail or make mistakes
8- setting up another local test
9-setting up local tests to start running in parallel
10-advantages and disadvantages of local parallel testing
11-advantages or executing tests in the cloud
12-setting up a browser stack test
13-understanding the browser stack test and setting up env variables
14-how to run the browser stack test
15-creating other browser stack tests
16-how to execute parallel tests in browserstack
17-getting started with sauce labs
18-how to run a selenium webdriver test in sauce labs
19-how to run selenium tests in parallel using sauce labs
20-conclusions
Counter Controlled Repetition
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock