Selenium, C# and Everything in Between

Learn how to create a powerful cross site & cross browser dynamic automation tests
4.2 (45 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.
242 students enrolled
$19
$100
81% off
Take This Course
  • Lectures 99
  • Length 13.5 hours
  • Skill Level All Levels
  • Languages English
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works

Discover

Find online courses made by experts from around the world.

Learn

Take your courses with you and learn anywhere, anytime.

Master

Learn and practice real-world skills and achieve your goals.

About This Course

Published 5/2016 English

Course 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.

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

What are the 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.

What am I going to get from this course?

  • 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!!!

What 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

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.

Curriculum

Section 1: 1. Introduction
15:36

Introduction.

Section 2: 2. Preparations
02:24

Preparations.

Section 3: 3. Requirements & Preparations
08:55

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

06:37

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

1 question

Shows the difference between Outer Reference & Project Reference

02:53

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

07:03

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

06:39

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

07:34

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.

Section 4: 4. Selenium Introduction
04:24

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

08:58

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

08:12

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

08:34

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

08:08

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.

09:37

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.

06:51

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.

08:01

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

09:49

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).

07:44

Section 4 summary.

Section 5: 5. Selenium Wrapper
09:14

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

08:29

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

07:10

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.

08:51

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.

07:42

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

07:29

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

08:52

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

06:26

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

07:29

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

09:57

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

09:35

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

08:37

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

09:13

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

08:37

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

09:22

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.

09:13

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

08:59

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

08:03

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

1 question

Find the problem with FindElements method.

06:48

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

08:59

On this lecture you will finalize SearchHotelsWithWrapper method.

09:47

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

09:59

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

07:33

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

08:52

Finalize GetDisplayedElement sample and compare with FindElement sample.

04:44

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

09:25

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

09:49

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

09:29

On this lecture you will create the WaitForDisplayedElement method.

09:16

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

08:04
On this lecture you will learn how to extend IWebDriver to scroll the browser page.
06:49

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

07:41

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

06:56

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

07:13

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.

07:03

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.

07:23

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

05:46

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

09:16

Section 5 summary.

Section 6: 6. Distribute your Package
06:47

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

04:59

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

09:16

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.

06:22

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

09:21

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

08:46

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.

17:32

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

07:50
Section 6 summary.
Section 7: 7. Testing Solution
12:47

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

13:07

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

08:52

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

10:48

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

10:53

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

12:19

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

11:29

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

07:37

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

09:57

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

10:04

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

10:09

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

08:06

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

08:02

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

06:15

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

11:34

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

05:29

Section 7 summary.

Section 8: 8. Configure your Machine to Run Mobile Automation Testing
07:12

Learn how to configure your machine to allow Android Automation Testing

04:22

Learn how to configure your machine to allow Android Automation Testing

01:44

Learn how to configure your machine to allow Android Automation Testing

03:16

Learn how to configure your machine to allow Android Automation Testing

07:00

Learn how to configure your machine to allow Android Automation Testing

05:11

Learn how to configure your machine to allow Android Automation Testing

06:37

Learn how to configure your machine to allow Android Automation Testing

04:31

Learn how to configure your machine to allow Android Automation Testing

08:05

Learn how to configure your machine to allow Android Automation Testing

09:06

Learn how to configure your machine to allow Android Automation Testing

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Roei Sabag, Head of Automation & Performance Testing in T.G.S. Israel

10 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).

Ready to start learning?
Take This Course