What you'll learn

  • Master automation testing from A to Z

  • Be able to use Selenium WebDriver for automation

  • Master C# for Software Automation Engineers

  • Learn automation testing best practices like DRY and SRP: fundamental knowledge for all automation engineers

  • Use ATDA, my secret automation technique to create top quality tests

  • Master the MsTest unit testing framework

  • Learn how to quickly and easily create HTML reports

  • So much more....

What are current students saying?

Rupashree Geethaaviji Ananthakrishna

“Wonderful content and things explained in a nutshell. Overwhelmed by Author's dedication to put things in such a way that any novice or manual tester can follow and understand and definitely be on-boarded as a Selenium Automation Engineer next day...”

Read More

“Wonderful content and things explained in a nutshell. Overwhelmed by Author's dedication to put things in such a way that any novice or manual tester can follow and understand and definitely be on-boarded as a Selenium Automation Engineer next day at work. Thanks a million times for creating these courses! One Stop for Automation. ”

Read Less

Todd Bernstein

“I have seen some other Selenium courses in my life and this one is by far the best. Everything is high quality and well planned out. The instructor is obviously passionate about the topic and really cares about his students. He is also very attent...”

Read More

“I have seen some other Selenium courses in my life and this one is by far the best. Everything is high quality and well planned out. The instructor is obviously passionate about the topic and really cares about his students. He is also very attentive and works through issues to help me!”

Read Less

swapna paramathma

“Excellent session and very informative content delivered in a short time covering all scenario. The best video on this topic. Thanks Nikolay Advolodkin.”

“Excellent session and very informative content delivered in a short time covering all scenario. The best video on this topic. Thanks Nikolay Advolodkin.”

Read Less

Course curriculum

  • 01

    Getting started with C#

    Show Content
    • Course Overview
    • Prerequisites and FAQs
    • Facebook Group- Get Access to our Test Automation Masters secret group!
    • Syllabus for Selenium section
    • Help, I have a Selenium Error
    • Surprise!
    • Instructor introduction
    • How to update VS Community subscription after expiration
    • MacOS Only: Installation of Visual Studio on Mac
    • MacOS Only: Visual Studio options for Mac
    • MacOS Only: How to use Parallels for Mac
    • How to download the code
    • Source Code URL
    • Visual Studio Errors
    • Creating your first project
    • Important menus in Visual Studio
    • Solution overview
    • Solution architecture
    • Coding conventions
    • The best resource for learning good coding principles
    • Download the Most Popular Automation Interview Questions Ebook
    • End of section quiz
    • About the quizzes
    • Quiz
    • Live, instructor led training?
    • Where are the course notes?
    • The Ultimate QA Cheat Sheet
  • 02

    Different types of Visual Studio projects

    Show Content
    • Class library project
    • Important note about next lecture
    • Unit test project
    • CodeLens
    • Debugging basics
    • Common shortcuts in Visual Studio
    • End of section quiz
    • Common Visual Studio errors
  • 03

    Programming basics

    Show Content
    • How to create a Console Project
    • Intro to variables
    • Declaring variables of simple types
    • Formatting text using concatenation
    • Framework Reviews - Survey
    • Using string interpolation
    • Formatting text for output
    • Verbatim strings and escape sequences
    • End of section quiz
    • What are your thoughts so far?
    • An Important Note
    • Why are we not using NUnit in this course?
  • 04

    Unit testing project

    Show Content
    • Section Intro
    • TestMethod TestClass Description
    • Assertions
    • ExpectedException attribute
    • Use cases for ExpectedException
    • Quiz on assertions and attributes
    • Quiz answer
    • TestInitialize
    • Quiz on before and after hooks
    • Quiz
    • CodeLens
  • 05

    Math, equality and relational operators

    Show Content
    • Math with integers
    • Mistake in the Assert.AreEqual(sum,15)
    • Math with floating point numbers
    • Math with decimals
    • Coding quiz
    • Equality and relationship operators
    • If statements
    • If else statements
    • Warning! Where you see StringAssert.Equals, use Assert.AreEqual instead!
    • Section exam
    • Leap year
    • Quiz
    • Coding exercise
    • Did you enjoy coding?
  • 06

    Classes and methods

    Show Content
  • 07

    Midterm exam

    Show Content
    • Midterm exam specifications
    • Midterm project solution
    • Midterm - Retail store
  • 08


    Show Content
    • While loops
    • Increment-decrement operators
    • Counter and sentinel controlled repetition
    • Nested loops
    • Coding quiz
    • For loops
    • Do while loops
    • Switch statement
    • Break statement
    • Continue statement
    • End of section exam instructions
    • End of section exam solution
    • End of section exam
    • Quiz
  • 09


    Show Content
    • Method call stack
    • Static methods
    • Method overloading
    • Method overriding
    • Coding quiz
    • Optional and named parameters
    • Clarification on optional params
    • Out and ref keywords
    • Tuples
    • End of section exam specifications
    • End of section exam solution
    • Clarification on calculation of CalculateNewAssessedValue()
    • End of section exam
  • 10

    Arrays and lists

    Show Content
    • Declaring and creating arrays
    • The ForEach loop
    • Passing arrays to methods
    • Passing array elements to methods
    • The array class
    • Coding quiz part 1
    • Coding quiz part 2
    • Arrays vs collections
    • List collection
    • List example
    • End of section exam
    • End of section exam
    • Quiz
    • Coding quiz
    • Did you enjoy the coding exercise from Hacker Rank?
  • 11

    Advanced OO topics

    Show Content
    • Programming with inheritance
    • Inheritance example p1
    • Inheritance example p2
    • Abstract classes
    • Abstract methods
    • Composition
    • Protected keyword
    • Coding quiz instructions
    • Coding quiz solution
    • Introduction to polymorphism
    • Polymorphism example
    • Virtual keyword
    • Sealed classes and methods
    • End of section exam specifications
    • End of section exam solution
    • End of section exam
    • OO programming exam
  • 12


    Show Content
    • Intro to interfaces
    • Selenium interfaces
    • Implementing interfaces
    • Using polymorphism with interfaces
    • End of section exam
  • 13

    Exception handling

    Show Content
    • Intro to exception handling
    • Try catch block
    • The finally block
    • Throw keyword
    • Coding quiz
    • Exception handling best practices
    • User defined exceptions
    • End of section exam
  • 14

    Advanced C# topics

    Show Content
    • Casting
    • Delegates
    • Lambda expressions
    • Regular expressions
    • Coding quiz
    • Coding quiz
  • 15

    C# Conclusion

    Show Content
    • Housing application exam
    • Housing application exam answer 1
    • Housing application exam answer 2
    • Final exam on inheritance
    • Final exam on inheritance solution
    • End of course exam
    • Final project housing app
  • 16

    Automation testing best practices

    Show Content
    • Introduction to automation best practices
    • Test automation pyramid is key to success
    • Focus on reliablity before more automation
    • Don't rerun failed tests
    • Always use Page Objects
    • Correct synchronization strategy
    • Don't repeat yourself
    • Keep classes and methods small
    • Conclusions
    • Quiz
  • 17

    What is Selenium WebDriver

    Show Content
    • Introduction to selenium webdriver
    • What are the benefits of using Selenium Webdriver
    • What are the negatives of using Selenium Webdriver
    • How does Selenium help us get the perfect framework
    • Conclusions regarding this section
  • 18

    Setting up Selenium WebDriver resources

    Show Content
    • Section syllabus
    • How to keep the software at the latest versions
    • How to download and install Selenium WebDriver
    • How to download ChromeDriver
    • How to get ChromeDriver path dynamically
    • How to download Github projects and open them
    • How to import using statements
    • IWebDriver interface
  • 19

    Locating web elements with WebDriver

    Show Content
    • Element ID section overview
    • Introduction to Element Identification
    • Basic understanding of HTML
    • How to use Chrome for element location
    • HTML in the browser
    • How to get absolute XPath and CSS
    • Element location quiz
    • Selenium WebDriver location strategies
    • Quick note about WebDriverFactory
    • Highlighting all web elements using Selenium
    • FindElement and FindElements methods
    • Quiz on element identification
    • Quiz answer on element identification
    • Which locators are best to use
    • How to evaluate elements at run time
    • Introduction to XPath
    • Forward slash and double forward slash in XPath
    • Asterisk and @ in XPath
    • More about @ and .
    • XPath contains() function
    • XPath parent and compound class names
    • How to use multiple attributes in XPath
    • XPath exam
    • XPath exam answers
  • 20

    Navigation, manipulation, interrogation

    Show Content
    • Navigation with Selenium WebDriver
    • Navigation quiz
    • In the next lectures, the Complicated Page url is broken
    • Navigation quiz answer
    • Element manipulation with WebDriver
    • How to fill out a form
    • Quiz on element manipulation
    • Answer to manipulation quiz
    • CurrentWindowHandle, WindowHandes, PageSource, Title
    • WebDriver URL
    • Interrogating IWebElements
    • Learning all IWebElement properties
    • Element interrogation quiz
    • Element interrogation quiz answer
    • Conclusions
    • Where are the course notes?
  • 21

    Implicit and Explicit Waits

    Show Content
    • Section syllabus
    • Resources
    • Bad News :(
    • Why did this test fail
    • Answer to why the test is flaky
    • What is an implicit wait in selenium
    • 2nd example of an implicit wait
    • How to make implicit wait work
    • Quiz on implicit waits
    • Answer to quiz on implicit waits
    • What's next
    • What are explicit waits
    • 2 types of explicit waits
    • WebDriverWait
    • ExpectedConditions
    • ExpectedConditions deprecated
    • Customizing the WebDriverWait
    • What is the future of ExpectedConditions
    • Proper synchronization quiz
    • Synchronization quiz answer
  • 22

    Mouse and keyboard actions

    Show Content
    • What topics will be covered
    • What are user interactions in Selenium Webdriver
    • What are the different kind of user interactions
  • 23

    Drag and drop

    Show Content
    • Don't use Firefox please
    • How to create an Actions class in Webdriver
    • Analyzing our application under test
    • Writing the drag and drop test
    • Finishing the first drag and drop test
    • Executing the first drag and drop test
    • Starting to write the 2nd drag and drop example
    • Writing a 2nd drag and drop example
    • Running a 2nd drag and drop example
    • Drag and drop quiz question
    • Drag and drop quiz answer
  • 24

    Developer tools, resize, draw

    Show Content
    • How to do a resize action with selenium webdriver
    • Update about the next 2 videos
    • How to open developer tools with selenium webdriver
    • Running a test that opens a network tab in firefox
    • Drag and drop with html 5 quiz question
    • Drag and drop with html 5 answer part 1
    • Drag and drop with html 5 answer part 2
    • How to draw on a canvas with selenium quiz
    • How to draw on a canvas with selenium quiz answer
    • Conclusions
    • Exam on Mouse and Keyboard Actions
  • 25

    Mastering Page Objects

    Show Content
    • Overview of the rest of the course
    • Section intro and solution overview
    • Problems with record and replay
    • Problems with keyword driven testing
    • More on Keyword Driven Testing
    • What does the code actually test?
    • Introduction to the Page Object Pattern
    • Advantages and Disadvantages of the Page Object Pattern
    • What is the DRY Principle
    • Quiz on coding page objects
    • How to download and install the web application
    • How to start web application and run automation
    • Page Object anti-patterns
    • More thorough code example
    • Quiz on Page Objects
  • 26

    TDD for automation frameworks

    Show Content
    • Automation quiz
    • Why did you struggle
    • Examples of bad automation tests
    • Introduction to TDD
    • Check execution environment
    • Red and green phase
    • Opening complicated page
    • Finish green phase
    • Refactor
    • Red
    • Warning about following lectures
    • Locating amazon search bar
    • Green
    • Green 2
    • Another refactor
    • Quiz on red and green
    • Quiz answer
    • Quiz on red and green
    • Conclusions for TDD
    • Quiz
    • Conclusions for the last several sections
    • TDD for automation frameworks survey CollapseMove
  • 27

    Starting framework development

    Show Content
    • Getting started with Selenium framework
    • Writing the test skeleton
    • Fixing compiler errors in test
    • Quiz-How to setup ChromeDriver
    • Answer to how to setup ChromeDriver
    • Install the NuGet Package in the Project
    • Getting ChromeDriver to run
    • Making GoTo and IsVisible work
    • FillOutFormAndSubmit method
    • Making 1st test pass
    • Refactor
    • Quiz on best practices
    • Answer on best practices
    • Creating a BasePage class
    • Making functional test fail
    • Summary
    • Quiz on Page Objects
  • 28

    Sprint 2

    Show Content
    • Introduction to sprint 2
    • Adding LastnameField
    • Fixing a possible problem
    • Refactor phase
    • Adding a TestCleanup
    • Quiz-how to remove more duplication?
    • Quiz answer on duplication
    • Answer on duplication 2
    • Answer on duplication 3
    • Red phase
    • Red phase 2
    • Red phase 3
    • Importance of Refactoring
    • Importance of refactoring 2
  • 29

    Sprint 3+4

    Show Content
    • Sprint 3 Quiz
    • Adding a Gender
    • Update FillOutFormAndSubmit
    • Refactoring
    • Red and Green phase
    • Quiz on Other gender
    • Quiz answer
    • Refactoring all 3 tests
    • Refactoring out Assertions
    • Why we don't refactor the rest
    • Sprint 4 Requirements
    • FillOutEmergencyContactForm method
    • SetGenderForEmergencyContact Refactor
    • Conclusions
    • Conclusions 2
    • Exam on Test Creating and Refactoring
  • 30

    Test organization and BaseTest class

    Show Content
    • How to organize your test cases and classes
    • Test organization in code
    • Quiz on test case 1
    • Skeleton of test case
    • Implementing the test
    • WebDriverFactory
    • Making test pass
    • Making test fail
    • Explaining WebDriverFactory
    • Quiz 2
    • Skeleton of test
    • Implementing the test
    • Running Test 2
    • A new problem
    • Creating a BaseTest
  • 31

    Keeping classes small and solution organized

    Show Content
    • Problems with large page objects
    • How to keep page objects small
    • Quiz on slider
    • Quiz answer on slider
    • How to organize the solution
    • How to encapsulate page locators
    • OOP Object Recognition
  • 32

    Logging in test automation

    Show Content
    • Course Syllabus and Prerequisites
    • Why is logging important
    • Introduction to NLog
    • How to install NLog
    • Starting to log
    • Why Info level is important
    • Understanding NLog
    • Layout in NLog
    • fileName and keepFileOpen in NLog
    • Creating the first log records
    • More information about Info logging
    • NLog Exam
    • NLog exam answer
    • NLog bug logger
  • 33

    How to create HTML reports for automation

    Show Content
    • What to focus on
    • Why do reporting in automation
    • Important note about Extent Reports version
    • Overview of Extent Reports
    • Overview of how to use Extent Reports
    • Solution layout and new classes
    • The Reporter class
    • The BaseTest class
    • The ScreenshotTaker class
    • Viewing test results
    • How to use the Reporter class
    • Quiz on Reporter.cs
    • Quiz answer for Reporter.cs usage
    • Conclusions about Logging and Reporting
  • 34

    Final exam on Acceptance Test Driven Automation

    Show Content
    • Final exam
    • HTML Report and steps
    • TCID4 Answer
    • TCID5 Answer
    • TCID6 Answer part 1
    • TCID6 Answer part 2
    • TCID7 Answer
  • 35

    Continuous Integration and Continuous Delivery

    Show Content
    • CI/CD with Azure DevOps aka VSTS aka TFS
  • 36

    Automation Framework for Web Apps

    Show Content
    • Introduction
    • Test suite overview
    • Test strategy
    • Solution overview
    • Desktop tests
    • Page objects
    • Visual tests
    • Emusim tests
    • Real device tests
    • Conclusion

This course has been featured in:

Get Ready to Become the Best Automation Engineer You Can Be

Results Guaranteed

Try the course for 30 days. If you don't like it, you get a full refund. Cancel subscription any time!

  • Cancel Any Time

  • 30 Day Money Back Guarantee!


Nikolay Advolodkin is a prolific Automation Test & Quality Assurance Engineer. Currently, he is the CEO and Software Testing Instructor at UltimateQA.com. He has been voted as one of 33 Test Automation Leaders to follow in 2017 by TechBeacon.com. He is also the #1 Selenium Webdriver instructor in the world as rated by Udemy.com.He is a frequent Contributor for the blog, SimpleProgrammer.com and a speaker at Automation Guild 2017.When he isn’t immersed in the realm of coding and all-things QA, Nikolay Advolodkin enjoys self-improvement and aims to hone his vast skill set daily, all while teaching online students how to master automated software testing. Recognitions: 🏆 One of top 33 automation engineers 2017, TechBeacon.com 🏆 One of top 33 automation engineers 2018, TechBeacon.com 🏆 One of top 33 automation engineers 2019, TechBeacon.com 🏆 Taught 50,000+ students in over 100+ countries 🏆 Top Selenium instructor in the world

Nikolay Advolodkin

CEO at Ultimate QA

Nikolay Advolodkin

Ready to take massive action and change your life?

Start Now

What Are Current Students Saying

I Know You'll Get Results From This Course!

I've taught over 50,000 students in over 100 countries in test automation. In all different skill levels, learning styles, industries and backgrounds. I also work with dozens of companies, 100s of automation engineers, across the globe, every single year to help them reach new test automation heights.

I'm confident that I can teach you too and help you get results in the least amount of time possible.

But I also know there are far too many “too good to be true”, fly by night promotions online, which can cloud your judgment on whether or not to commit. That’s why to fully remove any risk or doubt about enrolling, I have a 30-day money-back guarantee. 

Try the course out, test it and apply it. I’m giving you a FULL MONTH to go through the training, keep up with the assignments, and implement the systems. If you reach out within 30 days and for some crazy reason you still haven’t seen any progress, then I’ll be happy to refund your investment.  

Ok. Obviously, I need The Complete Selenium Bootcamp in my life, but I've still got some questions...

  • Q: Why do I need this course? Can't I just figure this stuff out on my own?

    Of course, you can, but it’ll take awhile. If you value your time and you want to do things right the first time, I can help you with that. I’ve synthesized the best of everything I know into this course. The information I gathered while doing automation since 2008, working with 1000s of students since 2013, and consulting for dozens of clients a year. You can get all that experience in a single course, or you can try to recreate my experience.

  • What if I don’t get results, do you have a refund policy?

    Sure do! You have 30-days to go through and implement the information. If you do the work and don’t get results, I’ll be happy to give you every penny back.

  • How does the pricing work?

    Super simple. You pay per month. When you feel like you've learned everything from the course, just cancel your subscription and you won't be charged again.

  • Is this course right for me?

    That depends. I recommend having a few things in place: A Windows or Mac computer. A desire to master test automation.

Get Ready to Become the Best Automation Engineer You Can Be

Your Bonuses

For A Limited Time, Get These Extras!

 Advanced issues

Visual Testing is not just a fad. It is the latest trend in test automation that's making a Massive impact on the way we do testing. You cannot succeed in test automation without it. I've used visual testing to do 9,000+ visual validations every 2 weeks.