Selenium C# and Everything in Between
4.4 (77 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
463 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Selenium C# and Everything in Between to your Wishlist.

Add to Wishlist

Selenium C# and Everything in Between

Learn how to create a powerful cross site & cross browser dynamic automation tests
Bestselling
4.4 (77 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
463 students enrolled
Created by Roei Sabag
Last updated 5/2017
English
Learn Fest Sale
Current price: $10 Original price: $100 Discount: 90% off
11 hours left at this price!
30-Day Money-Back Guarantee
Includes:
  • 13.5 hours on-demand video
  • 40 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Implememt Selenium Web Driver with C#.NET
  • Interact and manipulate all types of Web UI Elements
  • Learn how to interact with Angular JS (implement Protractor) without adding a single line of code!!!
  • Create logic layers on-top of Selenium (wrapper) to add more stability and functionality
  • Learn how to solve and bypass UI and timing problems like, sync page load, a-sync page load and unexpected popup banners
  • Implement "Real World" testing solution End2End
  • Use Data Driven approach to generalize your tests
  • Learn how to distribute your Selenium Wrapper as a NuGet package or as a libraries product.
  • Create powerful "Cross Browsers" & "Cross Sites" testing (single test who can run on multiple site types on any supported browser)
  • Learn how to implement Appium and test Native, Hybrid and Mobile Web Application.
  • Get the basics and secrects of how to bring Selenium implementation to the next level!!!
View Curriculum
Requirements
  • You should be familiar with the basic concepts of object oriented development.
  • You should be familiar with basic C# or Java programming.
  • Download and install Visual Studio 2013/2015 premium or above. This is also covered in lecture 1. Download link: https://go.microsoft.com/fwlink/?LinkId=615437&clcid=0x409.
Description

This course is for all of you who like to become expert of Automation Testing (both beginners and advanced). This course is built as a complete end to end project with real world solution structure and development patterns, with special attention to real world problems and how to fix/solve/bypass them. Learn how to create logic layers and use development patterns to bring automation to the next level.

This course is different because on top of teaching how to use and implement the selenium web driver, it also teaches how to use it in the real world by building a complete testing solution with dynamic testing, schedule runs, reporting and branching.

Here you will find all the tricks and secrets which you will not find by searching on the internet. Thousands of experience hours were fined into one course.

Mastering this course will give you huge advantage when looking for Web Automation Developer job. You learn how to deal with the most complicated web automation problems out there.

No more "How to do..." it is time for "This is how it's done!".

Who is the target audience?
  • The techniques learned in this course can be used with any object oriented language (not only with C#).
  • This course is meant for both beginners and advanced automation developers with some programming skills, who wants to learn how implement strong automation testing solutions for both Web Applications & Mobile Applications – giving attention to “Real World” problems and their solutions
Students Who Viewed This Course Also Viewed
Curriculum For This Course
Expand All 99 Lectures Collapse All 99 Lectures 13:21:59
+
1. Introduction
1 Lecture 15:36
+
2. Preparations
1 Lecture 02:24
+
3. Requirements & Preparations
6 Lectures 39:41

On this lecture you will learn how to create Test Solution & Test Project basic layout.

3.2. Create Your Test Project Layout
08:55

On this lecture you will learn how to create Pre & Post Build Events to automatically keep the testing solution integrity.

3.3. Create Build Event Scripts
06:37

Shows the difference between Outer Reference & Project Reference

3.3.1. Reference Assemblies
1 question

On this lecture you will learn how to create Project Reference.

3.3.1.1. Quiz Solution
02:53

On this lecture you will learn how to install Selenium Packages from NuGet Packages Manager.

3.4. Get and Install Selenium Packages
07:03

On this lecture you will learn how to create and configure Linked Items, to keep your solution integrity.

3.5. Create and Configure Linked Items
06:39

On this lecture you will learn how to configure the Assemblies References in the test project to automatically take the correct assemblies based on the build configuration.

3.6. Configure Assemblies Refrences
07:34
+
4. Selenium Introduction
10 Lectures 01:20:18

On this lecture you will learn how to create test class and run test methods.

4.1. Test Class and Test Method Creation
04:24

On this lecture you will learn about the different ways of Selenium WebDriver implementation.

4.2. Implement Firefox WebDriver, IWebDriver Interface
08:58

On this leacture you will learn how to implement Internet Explorer & Chrome Web Drivers and implement Deployment Items to keep you solution intergrated.

4.3. Implement IE and Chrome WebDrivers, Deployment Items
08:12

On this lecture you will learn how to locate web elements on any web page using XPath.

4.4. XPath Overview
08:34

On this lecture you will learn how to create your first automation test, create IWebElement object and manipulate it, fix common initial page load timing and verify your test assertions.

4.5. IWebElement Interface, Page Load Timing, Interact with Radio Button
08:08

On this lecture you learn how to interact with a text-box and exposed to issues which might comes up when the text-box have "Auto-Complete" feature.

4.6. Element Interaction - Text-Box with Auto-Complete Feature
09:37

On this lecture you will learn how to interact with a text-box and exposed to issues which might comes up when the text-box have pre-defined text in it.

4.7. Element Interaction - Text-Box with Pre-Defined Text
06:51

On this lecture you will learn how to interact with a Combo-Box.

4.8. Element Interaction - Combo-Box
08:01

On this lecture you will learn how to manipulate check-box and some other web elements (like an image) and exposed to async elements/page loading problems (timing issues).

4.9. Element Interaction - Check-Box, Web Controllers
09:49

Section 4 summary.

4.10. Summary
07:44
+
5. Selenium Wrapper
38 Lectures 05:14:10

Introduction about the importance of the selenium wrapping and the significant issues you can solve by implementing it.

5.1. Introduction
09:14

On this lecture you will learn how to create a JSON object and some of the JSON concepts and syntax.

5.2. JSON and JObject Overview - Part 1
08:29

On this lecture you will learn how to parse JSON Object and extract values from the keys inside the object and unbox them to their corresponding types.

5.3. JSON and JObject Overview - Part 2
07:10

On this lecture you will learn how to create new instance of SeleniumWrapper class and call a method. You will also learn how to debug a test method and follow the different object values during the debug process.

5.4. JSON and JObject Overview - Part 3
08:51

On this lecture you will learn how to create the IWebDriver Wrppaer Skelton and the IWebDriver Wrppaer concepts.

5.5. Web Driver Interface Wrapper - Part 1
07:42

On this lecture you will learn how to create fields and return their value into their corresponding property.

5.6. Web Driver Interface Wrapper - Part 2
07:29

On this lecture you will learn how to implement Internet Explorer Driver including Internet Explorer Options.

5.7. Web Driver Interface Wrapper - Part 3 - Internet Explorer
08:52

On this lecture you will learn how to configure Internet Explorer and fix some known issue with Internet Explorer 11.

5.8. Web Driver Interface Wrapper - Part 4 - Internet Explorer
06:26

On this lecture you will learn how to wrap Firefox Web Driver.

5.9. Web Driver Interface Wrapper - Part 5 - Firefox
07:29

On this lecture you will learn how to set Chrome Driver and set SetWebDriver method.

5.10. Web Driver Interface Wrapper - Part 6 - Chrome, SetWebDriver Method
09:57

On this lecture you will learn how to use WebDriver & WebDriverParams properties.

5.11. Web Driver Interface Wrapper - Part 7 - WebDriver and WebDriverParams
09:35

On this lecture you will learn how to run a Cross Browser Test and how to dispose WebDriver.

5.12. Web Driver Interface Wrapper - Part 8 - Cross Browser Test, Dispose Driver
08:37

On this lecture you will learn how to seamlessly wait for initial page load when opening URL by wrapping GoToUrl method.

5.13. GoToUrl Method Wrapper
09:13

On this lecture you will learn how to create the skeleton of FindElement Method Wrapper and how to call it in your test method.

5.14. FindElement Method Wrapper - Part 1
08:37

On this lecture you will learn how to create the trigger for FindElement Method Wrapper to create dynamic a-sync waiting for the element you are looking for.

5.15. FindElement Method Wrapper - Part 2
09:22

On this leacture you will learn how to extent IWebElement interface with combo-box options.

5.16. Select Element Extension
09:13

On this lecture you will learn how to create the FindElements Method Wrapper.

5.17. FindElements Method Wrapper - Part 1
08:59

On this lecture you will learn how to use FindElements method on group of elements.

5.18. FindElements Method Wrapper - Part 2
08:03

Find the problem with FindElements method.

5.18.1. Find Elements
1 question

On this lecture you will learn how to fix FindElements method.

5.18.1.1. Quiz Solution
06:48

On this lecture you will finalize SearchHotelsWithWrapper method.

5.19. Finalize SearchHotelsWithWrapper Method - Part 1
08:59

On this lecture you will finalize SearchHotelsWithWrapper and IWebElementSamples methods and compare the results of tests with and without a wrapper.

5.20. Finalize SearchHotelsWithWrapper Method - Part 2
09:47

On this lecture you will learn how to create the skeleton of GetDisplayedElement method.

5.21 - GetDisplayedElement Method - Part 1
09:59

On this lecture you will continue the Test Method sample for using with GetDisplayedElement method.

5.22. GetDisplayedElement Method - Part 2
07:33

Finalize GetDisplayedElement sample and compare with FindElement sample.

5.23. GetDisplayedElement Method - Part 3
08:52

On this lecture you will learn how to create GetDisplayedElements method which return only Displayed elements.

5.24. GetDisplayedElements Method - Part 1
04:44

On this lecture you will see the difference between GetDisplayedElements & FindElements methods.

5.25. GetDisplayedElements Method - Part 2
09:25

On this lecture you will learn about the end case on which both FindElement & GetDisplayedElement methods will fail to return an element.

5.26 - WaitForDisplayedElement Method - Part 1
09:49

On this lecture you will create the WaitForDisplayedElement method.

5.27. WaitForDisplayedElement Method - Part 2
09:29

On this lecture you will run samples for FindElement, GetDispalyedElement & WaitForDispalyedElement and stand on the differences between them.

5.28. WaitForDisplayedElement Method - Part 3
09:16

On this lecture you will learn how to extend IWebDriver to scroll the browser page.
5.29. ScrollBrowserPage Method - Part 1
08:04

On this leacture you will create a test which using ScrollBrowserPage method.

5.30. ScrollBrowserPage Method - Part 2
06:49

On this lecture you will learn how to extend IWebElement to expose the Actions class.

5.31. Actions Method - Part 1
07:41

On this lecture you will learn how to use the Actions class and how to wrap individual action and extend it to IWebElement.

5.32. Actions Method - Part 2
06:56

On this lecture you will learn how to create the skeleton of the BannersListener component. The BannersListener component is a component which run on a different thread and handle unexpected popup banners. This component is an extension to IWebDriver.

5.33. BannersListener Method - Part 1
07:13

On this lecture you will finalize the BannersListener component and create working example. The BannersListener component is a component which run on a different thread and handle unexpected popup banners. This component is an extension to IWebDriver.

5.34. BannersListener Method - Part 2
07:03

On this lecture you will learn how to submit a form using Java Script instead of clicking on the Submit button

5.35. SubmitForm Method
07:23

On this lecture you will learn how to extend IWebDriver to send Java Script directly to the current driver session.

5.36. ExecuteScript Method
05:46

Section 5 summary.

5.37. Summary
09:16
+
6. Distribute your Package
8 Lectures 01:10:53

On this lecture you will learn how to distribute your package (solution) as libraries that can be referenced by any project.

6.1. Distribute your Package as Libraries
06:47

On this lecture you will learn how to create Local NuGet Packages Repository

6.2. Distribute your Package as NuGet Package - Part 1
04:59

On this lecture you will learn how use Nuget Packages Explorer tool (downloadable from this lecture content) and how to create your first Nuget Package from your project libraries.

6.3. Distribute your Package as NuGet Package - Part 2
09:16

On this lecture you will learn how to create dependencies to your NuGet Package.

6.4. Distribute your Package as NuGet Package - Part 3
06:22

On this lecture you will learn how to download and organize the most update drivers for Selenium.

6.5. Distribute your Package as NuGet Package - Part 4
09:21

On this lecture you will learn of how to create WebDriver.ChromeDriver NuGet Package and the basics of the Installing and Uninstalling mechanism of the NuGet Package.

6.6. Distribute your Package as NuGet Package - Part 5
08:46

On this lecture you will learn how to create WebDriver.EdgeDriver, WebDriver.InternetExplorerDriver.32bit, WebDriver.PhantomJSDriver and AutomationPackageWithDrivers NuGet Packages.

6.7. Distribute your Package as NuGet Package - Part 6
17:32

Section 6 summary.
6.8. Summary
07:50
+
7. Testing Solution
16 Lectures 02:37:28

On this lecture we will learn how to create the testing solution, folders layout, manage the solution namespaces and install the NuGet packages.

7.1. Create Testing Solution Layout, Namespaces and Packages
12:47

On this lecture you will learn how to create deployment items, test runner class and test sequence class.

7.2. Create Deployment Items, Test Runner Class and Sequence Class
13:07

On this lecture you will learn how to create the Objects Settings and Assertions Settings.

7.3. Create Automation Test - Part 1
08:52

On this lecture you will learn how to create the testing steps.

7.4. Create Automation Test - Part 2
10:48

On this lecture you will learn how to create the testing assertions.

7.5. Create Automation Test - Part 3
10:53

On this lecture you will learn the basic concept of Page Object Model.

7.6 - Page Object Model - Overview
12:19

On this lecture you learn how to create the layout of the SearchEngine page object.

7.7 - Page Object Model - SearchEngine - Part 1
11:29

On this lecture you will learn how to create the Search method of the SearchEngine object.

7.8 - Page Object Model - SearchEngine - Part 2
07:37

On this lecture you will learn how to create the ValidateSearchResults method of the SearchEngine object.

7.9 - Page Object Model - SearchEngine - Part 3
09:57

On this lecture you will learn how to create a Static Objects Repository and create references for Google objects.

7.10 - Cross Site Test - Repository - Part 1
10:04

On this lecture you will learn how to reference more than one web element using one reference and create references for Bing objects.

7.11 - Cross Site Test - Repository - Part 2
10:09

On this lecture you will learn how to create reference for Yahoo objects.

7.12 - Cross Site Test - Repository - Part 3
08:06

On this lecture you will learn how to parameter your test and prepare it for Data Driven

Preview 08:02

On this lecture you will learn how to create the mechanism to implement the dynamic data into the test.

7.14 - Cross Site Test - Data Driven - Part 2
06:15

On this lecture you will learn how connect your test to the data source.

7.15 - Cross Site Test - Data Driven - Part 3
11:34

Section 7 summary.

7.16 - Summary
05:29
+
8. Configure your Machine to Run Mobile Automation Testing
11 Lectures 01:00:37

Learn how to configure your machine to allow Android Automation Testing

8.1 - Configure your Machine to Run Mobile Automation - Part 1.xesc
07:12

Learn how to configure your machine to allow Android Automation Testing

8.2 - Configure your Machine to Run Mobile Automation - Part 2
04:22

Learn how to configure your machine to allow Android Automation Testing

8.3 - Configure your Machine to Run Mobile Automation - Part 3
01:44

Learn how to configure your machine to allow Android Automation Testing

8.4 - Configure your Machine to Run Mobile Automation - Part 4
03:16

Learn how to configure your machine to allow Android Automation Testing

8.5 - Configure your Machine to Run Mobile Automation - Part 5
07:00

Learn how to configure your machine to allow Android Automation Testing

8.6 - Configure your Machine to Run Mobile Automation - Part 6
05:11

Learn how to configure your machine to allow Android Automation Testing

8.7 - Configure your Machine to Run Mobile Automation - Part 7
06:37

Learn how to configure your machine to allow Android Automation Testing

8.8 - Configure your Machine to Run Mobile Automation - Part 8
04:31

Learn how to configure your machine to allow Android Automation Testing

8.9 - Configure your Machine to Run Mobile Automation - Part 9
08:05

Learn how to configure your machine to allow Android Automation Testing

8.10 - Configure your Machine to Run Mobile Automation - Part 10
09:06

Section 8 summary.

8.11 - Summary
03:33
+
9. Extend your Testing Framework Capabilities
5 Lectures 34:25

Learn how to implement Protractor in the automation infrastructure without adding any code.

9.1 - Extend Your Package - Protractor - Part 1
04:21

Learn how to implement Protractor in the automation infrastructure without adding any code.

9.2 - Extend Your Package - Protractor - Part 2
10:55

Learn how to implement Appium as part of your infrastructure and dynamically initialize it.

9.3 - Extend Your Package - Appium - Part 1
06:34

Learn how to implement Appium as part of your infrastructure and dynamically initialize it.

9.4 - Extend Your Package - Appium - Part 2
05:57

Learn how to implement Appium as part of your infrastructure and dynamically initialize it.

9.5 - Extend Your Package - Appium - Part 3
06:38
+
10. Execute Your Tests
2 Lectures 17:24

Learn how to run your test outside of Visual Studio using command line.

10.1 - Execute Your Tests - Part 1
09:53

Learn how to schedule your test using simple task scheduler.

10.2 - Execute Your Tests - Part 2
07:31
1 More Section
About the Instructor
Roei Sabag
4.4 Average rating
77 Reviews
465 Students
2 Courses
Head of Automation & Performance Testing in T.G.S. Israel

Over 12 years of vast testing experience including, manual testing, testing methodologies, testing infrastructures (both manual and automation) creation for big companies (like Microsoft & Motorola), automation testing with Coded UI, Selenium, Appium & UiA, Performance testing on multi servers/components systems. Currently, head of automation and performance department for T.G.S. (the technology breach of Tourico-Holidays company in Orlando FL).