Software Testing


Appium WinAppDriver UI Automation Testing Windows Apps in C#

Windows Application Driver Automation Testing, Appium Windows UI Test Automation, Automated Functional Testing, C# .Net

4.23 (301 reviews)


5 hours


Feb 2021

Last Update
Regular Price

What you will learn

Automated Testing & UI Automation with Appium, WinAppDriver in C# .Net on Windows 10

Desktop automation for RPA and functional testing of Windows/WinForms applications with Appium WinAppDriver in C# .Net, Visual Studio

Windows Automation Testing in Appium and WinAppDriver


Appium Based Windows Application Driver (WinAppDriver) is the newest automation testing tool for UI Automation and Software Functional Testing for testing desktop applications by Microsoft. Microsoft Coded UI, the UI test automation licensed tool sold by Microsoft in the past, is now deprecated. Appium WinAppDriver is a free tool that provides APIs for many programming languages, including C# Dot Net, Java, and Python. The WinAppDriver is based on Appium, which is based on Selenium, hence an industry-standard automation testing tool. Appium WinAppDriver is entirely compliant with the WebDriver specifications(since it is based on Appium).

Windows Automation and Desktop Automation are at the heart of this course. It teaches you Appium WinAppDriver based Automation with source code and examples step by step.

WinAppDriver provides the following things to facilitate Automated Testing:

  1. WinAppDriver UI remote control, the executable which is capable of receiving Appium commands and performing actions on the UI of a given Windows PC for automation testing.

  2. WinAppDriver UI Recorder, a lightweight UI inspection tool that allows you to find various properties of Windows UI elements.

  3. API support for various programming languages, including C Sharp (C#), Java, Python, and many more.

Many students of this course have used it to learn Windows UI Automation concepts in this course and are performing in Python automation and Java automation.

This course is a complete answer to your Windows automated software testing questions. In this course, I'm going to show you how to get started using Appium WinAppDriver in C# and how to go full throttle test automation in a short period.

Note: Appium is based on WebDriver which is also the basis of Selenium, this way if you start from Appium/WinAppDriver you can easily move forward to Selenium-based UI testing. Although, you will need to understand how the DOM-based HTML websites work.

The best part is that this course is in C# Dot Net, and I show you the techniques which work instead of typical open source trial and error. Appium based Windows Application Driver (WinAppDriver) is a course for the QA persons, by QA persons.

Appium is very popular in the automated tester community for mobile Automation. Appium for iOS and Android is already out there, now Microsoft has also joined the bandwagon by providing the necessary tooling to bring Windows application testing into the Appium world.

I'll show you how to automate the testing of legacy Win32 Applications, how to deal with Unified Windows Platform (UWP) applications, and how to take care of it challenging to identify UI elements in C# (C Sharp) with WinAppDriver.

The first section covers tool installation in detail, and I'll show you how to download and install everything you need for test automation. This will include Visual Studio Community Edition, Node.js, Appium, WinAppDriver.

In section 2, the Windows Application Driver (WAD) UI Recorder is introduced. As soon as the tools are installed, you'll set up your first UI Automation solution in C# .Net and add Appium WinAppDriver. You'll write your first test automation program using C# (C Sharp) and Appium WinAppDriver in the next 5 minutes. I'll show you how to take a screenshot using Appium WinAppDriver from C# code, how to read a Windows Win32 application title, how to maximize a window, and how to quit an application started by Appium WinAppDriver test automation scripts.

In section 2, I'll show you how to perform common UI Automation operations such as mouse click and typing with the keyboard (SendKeys). You'll learn how to use Selenium implicit wait using C# in Appium/WinAppDriver scenarios.

Appium Desktop Client is also covered, I show you how to create a custom session in Appium Desktop Client to inspect elements of a Windows application through Windows Application Driver(WinAppDriver or WAD). How to inspect the source elements XML tree using Appium for use in test automation.

Next, I'll introduce you to the MS Test (Visual Studio Unit Testing) Framework. If you want to create a unit test project in Visual Studio. You'll practically see the life cycle of an MSTest based unit test and implement it using keywords like TestClass, ClassInitialize, TestMethod, TestInitialize, TestCleanup, ClassCleanup in C#. I'll also teach you about how to see if your automated tests are passed and failed(the TDD red-green cycle), I'll show you the Visual Studio TestExplorer window for this purpose. You'll also learn how to see test failure error details. These are general test automation concepts that can be used later on in different languages and environments as well with different test automation tools.

Afterward, I'll show you how to mix MS Test with (Appium) Windows Application Driver to create proper automated software testing scripts. In this section, I'll show you how to debug a test for identifying problems and devising solutions to difficult problems (sometimes, you just can't find a Windows Element beforehand). This section will conclude with more useful information about practical, functional UI testing using automated software testing tools.

In the next section, I will be showing about data-driven testing in MS Test. I'll show you how to incorporate Excel data in Appium Windows Application Driver tests. This section will show you how to run the same set of tests with different data for testing a variety of scenarios. However, I'll show you how to use TestContext in automation testing.

The last section of this course will be about automated testing WinForms based applications in WinAppDriver (Appium). I'll show you how to access the most commonly used Windows controls in RPA/UI Test Automation. WinForms Windows UI Elements (controls) related topics explicitly by this course are given below:

  • Checkbox test automation

  • Radio button test automation

  • Button test automation

  • DataGrid test automation

  • Popup automated testing

  • WinTree automated testing

  • Menu Item automated testing

In the end, I hope you will find this course to be useful for learning automated software testing and UI Automation in general for RPA like scenarios with Microsoft C#, Appium based WinAppDriver, and Visual Studio.

This course uses entirely FREE SOFTWARE TOOLS!

Test automation is important, learn it now!


Appium WinAppDriver UI Automation Testing Windows Apps in C#
Appium WinAppDriver UI Automation Testing Windows Apps in C#
Appium WinAppDriver UI Automation Testing Windows Apps in C#
Appium WinAppDriver UI Automation Testing Windows Apps in C#


Introduction to UI Automation of Windows Applicaitons with Appium WinAppDriver

Introduction to Appium Automated Testing with WinAppDriver, C#, Visual Studio

Section Intro - Tool Installation for Appium WinAppDriver in C#.Net

Enable Windows 10 Developer Mode, tool installation overview

Installing Visual Studio Community Edition and C# .Net for Test Automation

Installing Node.Js and Appium on Windows 10

Installing Appium WinAppDriver on Widows 10 for UI Automation

Visual Studio Project setup, launching an application with WinAppDriver & Appium

Appium WinAppDriver UI Automation in action - Code Attached

Demo: How to Run Appium WinAppDriver based UI Automation(RPA)

Finding and Manipulating UI Elements with [Appium] WinAppDriver for Automation

Section Intro - Finding & Manipulating UI Elements with [Appium] WinAppDriver

Using WAD UI Recorder to Find Element Properties for use in automated testing

How to Launch a UWP application with [Appium]WinAppDriver & C# for UI automation

How to Click a Button with [Appium] WinAppDriver for automated testing in C#

Reading Text from UI Element using AutomationID in [Appium] WinAppDriver

SendKeys: Typing Text with [Appium] WinAppDriver for test automation

WebDriverWait: Slowing UI Automation Scripts(also works for automated testing)

Using Automation Framework Visual Studio Unit Test Framework(MS Test)

Section Intro - Visual Studio Unit Test Framework(MS Test) for Automation

Introduction to Ms Test Framework for Test Automation in [Appium]WinAppDriver

How to create and run your first automated test(for use w/ Appium WinAppDriver)

How to see a Failed Test Automation Script

Using Assert Methods to Verify Automated Test Results With Assert Class

Life cycle of an automated test in MsTest, Automated Testing Framework

Demo: Life Cycle of an Automated Test in MsTest - Source Code Attached

Fusion: Combining [Appium] WinAppDriver plus MSTest Framework

Section Intro - Fusion: Combining [Appium]WinAppDriver & MsTest for Automation

How to click an item in a ListView with Appium WinAppDriver Click, add new clock

Using WebDriverWait .Until Method to Wait for UI Controls in C# Test Automation

Debugging a test - FindElements* method call of Appium WinAppDriver

How to Perform Right Click/ Context Click in Appium WinAppDriver & C# automation

Using app Root Desktop session for selecting a context menu item in Appium

Demo: Running the Clock Automated Test from Visual Studio Test Explorer

Data Driven Testing with Ms Test and Microsoft Excel

Section Introduction - Data Driven Testing in C#, Ms Test with Microsoft Excel

Setting Up TestContext to Access Data in Visual Studio Unit Testing Framework

Adding Support for Data Driven Testing to a Test for Sequential Data Variety

Using Data Values from Test Context

Demo: Run Data Driven Automated UI Test with Appium WinAppDriver & Visual Studio

WinForms Automated Testing with Appium WinAppDriver

Section Intro - Automated of Testing WinForms Controls Appium WinAppDriver

Project Setup and UI Automation of Checkbox with [Appium] WinAppDriver

Appium 3 to Appium 4 project update for WinAppDriver Test Automation

How to Click a Radio Button and Get its Selected Value in [Appium] WinAppDriver

Inspecting a Combo Box with [Appium] WinAppDriver for UI test automation

Select an Item Inside a Combo Box with [Appium] WinAppDriver for automation

Selecting Specific Item in a Combo Box's Children with [Appium] WinAppDriver

Menu Item UI Automation, How to Click a menu item with [Appium] WinAppDriver

Click a Menu Item Deep in Menu Hierarchy with Appium WinAppDriver for automation

How to Access a DataGrid View using Appium WinAppDriver for test automation

How to Click a Data Grid Child Control with Appium WinAppDriver UI Automation

UI Automation of TreeView Control with Appium WinAppDriver, selecting tree nodes

UI Automation of a Popup Dialog with Appium WinAppDriver

Click an item in a ListBox by scrolling down to it with Appium WinAppDriver

Bonus Appium WinAppDriver Test Automation Scenarios

appArguments: launch Ms Excel without splash screen, open file in WinAppDriver

Using ExcelDataReader to supply Excel test configuration data to automated test

Read values from a DataSet for use in your Appium WinAppDriver test automation

Using JSON data in automated testing in Appium WinAppDriver Automated Testing

Running Automated Tests Without Visual Studio, Generating Reports, Test Filters

Running Automated Tests Without Visual Studio, Generating Reports, Test Filters

Running automated tests with vstest.console.exe, understanding test assemblies

Generating an automated test run report in trx format for Appium WinAppDriver

Using options "Tests, TestFilter, lt" to work with test automation and VSTest


Sridhar5 August 2020

Initial Sessions Feedback: Sessions are going very very slow and all are short sessions. Tutor is not talking freely and just reading the text written in front of him. Lot of pauses in between. Tutor is explaining very slowly in such a way that , as if these sessions are for kids. Would have been better if these would have been taken care. Ending Sessions: Tutor focused on things which can be used in the real projects and helpful. In real life projects, there will be many more features which one has to use and implement. would have been still better, if he comes up with more such advanced features examples.

Frances3 August 2020

The Outlook repo provided by instructor on GitHub was such a pelasant surprise because I actually joined this course to learn how to automate some UI tasks in Microsoft Outlook Express with WinAppDriver. Good job.

Wendell3 August 2020

It would be great to have a section about a concrete WPF application UI automation testing as well, please add some assignments to the course. This is good but it can be made even better. The Windows Application Driver GitHub repo was a very useful tip.

Dennis3 August 2020

The gradual build up of complexity and step by step instructions about WinAppDriver made it worth my time. Thanks

RaJesh19 April 2020

If some one is looking for selenium C# desktop application automation with appium, this is the course to kick start with. Trainer explained it very well, even an non IT background person can understand it. trainer explained it very well as if spoon feeding a kinder garden student. for this reason few people may not like it as basics are in too detail. Thanks sir, for your patience explanation and for your efforts. i can feel your efforts in each and every video you have recorded. looking forward for more interaction as you will be receiving couple of doubts and queries from me in coming days. :-) :-)

Vivek13 February 2020

Best Segregated course on WinAppDriver. The lecturer has explained the concepts very clearly. Loved the course.

Sachin12 February 2020

One of the best course to learn WinAppDriver using C#. This course helped me a lot to understand the various concepts of automating windows desktop application using WinAppDriver. Easy code samples and right flow of the course, makes it easy for any student to start implementing this wonderful tool in no time. Kudos to Naeem and his style of delivering the course content. Keep up the good work!

Christian2 February 2020

Very good course about the use of WinAppDriver for C# Windows Desktop applications. It contains every subject I expected, including the automation of Windows Forms Apps and DataGrids. Well done! I removed a star because I think there is still place for improvements; what I mostly missed are summary sheets for my daily work.

Stephen12 January 2020

This training by Naeem was very beneficial to me. I recently started using Appium at work to test our application and this course has helped fill in quite a few gaps that I was missing. He is very thorough and takes the time to reply to my questions. I would definitely recommend this course to anyone using appium for automation testing.

Aparajita10 January 2020

I am brand new to test automation and was looking for a course like this which explains basic details step by step

Mudasar10 January 2020

Great Course. I love the way it is designed, delivered. I learned a lot.Everyone, should take this course. It is easy to follow while full of tools and understanding.

Phong2 January 2020

This is exactly the course I was looking for to help me with desktop UI automation with C#. The course so far has been great and very helpful.

Juan18 December 2019

He is using the same silly examples that you have in the documentation. He should be writing Test Projects in C# instead of a console app. Also, give difficult examples like real automation UI in-app using C# test project.

Shumpei27 November 2019

We could get a little information for WinAppDriver, no text book, no seminor etc. So, this course is very helpful for me. (from Japan)

Dominic24 October 2019

my expectation is to create framework for Desktop WPF application automation with ExtentReport, i can find few tips and tricks in this course, expecting some more in this or features lectures soon


3/17/202057% OFFExpired
7/9/202075% OFFExpired
5/29/202173% OFFExpired


Udemy ID


Course created date


Course Indexed date
Course Submitted by