microsoft / WinAppDriver

Windows Application Driver
MIT License
3.66k stars 1.4k forks source link

WinAppDriver vs UIAutomation library(UIAutomationClient.dll) #1994

Open prash-19 opened 5 months ago

prash-19 commented 5 months ago

What are the benefits of WinAppDriver over UIAutomation library? Does WinAppDriver use UIAutomation library internally? What are the scenarios where I can use UIAutomation library over WinAppDriver?

HowTurnRight commented 5 months ago

Main benefit is that you can use selenium webdriver syntax and you don't need to learn any new libraries.

PandaMagnus commented 5 months ago

As far as I understand, yes WinAppDriver (at least partially) uses UIAutomation library under the covers. It's the primary hook into interacting with desktop applications outside of invoking some Windows APIs directly. I've used UIA directly, and I have a coworker that has done the latter. Neither is trivial (although UIA was considerably easier to manage,) so one benefit to tools like WAD and FLAUi is that they're easier to deal with as an abstraction on top of those lower level calls.

You technically could likely use UIA totally in place of WAD. I've thought about doing that since WAD is no longer maintained.