Saturday, June 22, 2019

WinApp Driver vs Coded UI

Coded UI
Coded UI is a Closed source project
Windows Application Driver is a partially Open source project
Coded UI is Not hosted on GitHub
WinAppDriver has a repository on GitHub
Coded UI is very expensive, it has a hefty license fee, licensed product
[Appium based] WinAppDriver is free software, there's no licensing fee at all
Microsoft Coded UI does not follow an industry standard
WinAppDriver is based on WebDriver industry standard(
Coded UI is Based on Microsoft’s closed source technologies
WinAppDriver is Based on Appium, WebDriver, and Selenium industry standard open source technologies.
Limited to only Microsoft’s chosen programming languages
WinAppDriver Can be extended to support any programming language(C#, Python, Java, C++, you name it). Many APIs already available. If you learn it with one programming language, you can easily take the same cocepts to another language.
Coded UI uses a proprietary protocol for communicating with the machines running automation. Remote machines are not supported.
Being based on Appium, WinAppDriver uses JSON wire protocol for communication between an instance of WinAppDriver and test automation scripts. You can also create a grid if need be.
Knowing CodedUI won’t land you many jobs in future
Knowing Appium based WinAppDriver makes you suitable for Selenium & Appium mobile automation job. You can switch over to mobile testing with little effort.
Supports older versions of Windows OS i.e. Windows 7
Does not support older versions of Windows(works on Windows 10, Windows Server 2016 and above)
Almost dead community, not much going on with Coded UI
The community of WinAppDriver is very active online on GitHub.
Deprecated, no further enhancements in Coded UI
WinAppDriver is actively in development, continuously improving. Microsoft is pouring resources into it.
Coded UI script (C#, VB.Net) runs on a machine directly
A script based on WinAppDriver can control multiple machines using driver instances without even going to the machines under control.

I've launched a course about Automated UI Testing using WinAppDriver with C# .Net, here's a link:

This course is a beginners tutorial about software test automation. It is also a WinAppDriver tutorial and a learning resource. Coded UI is deprecated and WinAppDriver is the way to go forward.
If you think that WinAppDriver is good for Windows 10 only and you don't want to move on from Windows 7, you're wrong. The support for Microsoft Windows 7 is also coming to an end in 2020.

The list of important differences between Coded UI and WinAppDriver(Windows Application Driver) are given above FYI.

Additionally, one Coded UI test could run on one machine only. But a single WinAppDriver script can be used to automate more than one machines. This is very helpful for testing of client server applications.

Appium WinAppDriver Console Window Showing JSON Commands
Appium WinAppDriver Console Window Showing JSON Commands

1 comment:

Feel free to talk back...