Winappdriver: What is the difference between WinAppDriver and Microsoft UI Automation library? What different problems they solve?

Created on 13 Apr 2018  路  7Comments  路  Source: microsoft/WinAppDriver

Most helpful comment

From what I've read and seen through utilizing WinAppDriver and UIAutomation, WinAppDriver utilizes UIAutomation to gather the elements of your desktop application, and then WAP converts it to HTML so you can drive tests with Selenium/Appium.

The main problem WAP solves for me is: UIAutomation isn't a super straightforward library. Calls can get a bit verbose, and it requires some custom coding to handle "every day" scenarios (like selecting a value from a combo box.) Selenium/Appium have solved a lot of this already for web interfaces, so WAP bridges that gap to let testers use a robust and well-used and supported toolset (Selenium and Appium) to drive desktop UI automation.

Compared to some other tools I've used (Coded UI, TestStack.White, and a small amount of FlaUI,) being able to use simpler calls, with less quirky behavior and spotty support has been a fantastic step for desktop automation.

All 7 comments

From what I've read and seen through utilizing WinAppDriver and UIAutomation, WinAppDriver utilizes UIAutomation to gather the elements of your desktop application, and then WAP converts it to HTML so you can drive tests with Selenium/Appium.

The main problem WAP solves for me is: UIAutomation isn't a super straightforward library. Calls can get a bit verbose, and it requires some custom coding to handle "every day" scenarios (like selecting a value from a combo box.) Selenium/Appium have solved a lot of this already for web interfaces, so WAP bridges that gap to let testers use a robust and well-used and supported toolset (Selenium and Appium) to drive desktop UI automation.

Compared to some other tools I've used (Coded UI, TestStack.White, and a small amount of FlaUI,) being able to use simpler calls, with less quirky behavior and spotty support has been a fantastic step for desktop automation.

Thanks for the nice answer.
Does that mean that if I use WAP then there is no need to use UIAutonation library, or just rewording my question, is UIAutomation suitable for any tasks which can not be achieved by WAP? I am asking this question because i see alot of potential in WinappDriver whereas there are too little support/documentation for UIAutomator.

So far as I've seen, by using WAP you do not need to use UIAutomation library in normal circumstances. However, we've had cases at work where custom controls in third-party applications are problematic to find using White and FlaUI. I'm working on getting a Windows 10 box to verify how WAP handles those situations. When that happens, I'll drop a note on if WAP recognizes atypical controls better than White or FlaUI.

Good details mentioned by @PandaMagnus
One correction here, WAP coverts Desktop applications to XML!

@dhapolapankaj: Could you please elaborate bit more about "WAP coverts Desktop applications to XML". What exactly do we mean by this? Thank you.

Put a break-point in your program and check driver.PageSource

I listed down differences between WinAppDriver and Coded UI in my blog post here:
WinApp Driver vs Coded UI

Was this page helpful?
0 / 5 - 0 ratings