microsoft / WinAppDriver

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

What UI Automation technology WinAppDriver is internally using? #1006

Open tetsushmz opened 4 years ago

tetsushmz commented 4 years ago

Hi, I'm new to this technology. I recently realized that there are very similar but different technologies documented in MSDN - one is UIA3 and the other is UIA2 . Which one is WinAppDriver is using? The UIRecorder's cpp code seems to suggest that it's UIA3. Is it true?

Thanks,

Thanks!

licanhua commented 4 years ago

Automation part is black box to WinAppDriver. I guess it's UIA3. the best matched doc is https://docs.microsoft.com/en-us/dotnet/framework/ui-automation/ui-automation-overview

3.0 is introduced in Windows 7, and it's the successor to Microsoft Active Accessibility (MSAA), and I don't think WinAppDriver is calling MSAA

tetsushmz commented 4 years ago

@licanhua The link you provided is actually UIA2 that was added with .NET Framework V3.0 and is older than UIA3 that came as a part of Windows 7. The former is a managed library, while the latter is COM based. MSAA is older than those two. I wonder if Microsoft will eventually make WinAppDriver open source.

Beautyod commented 3 years ago

About one year later ... I also wonder if WinAppDriver uses UIA2 or UIA3.