Does Microsoft UI Automation framework handle Java SWT, C++, Delphi windows or I should use OCR?
c#, ui-automation
Solution
The UI Automation Framework handles anything that uses (or maps to) native windows controls, this is the case of Java's SWT, most of C++'s widget toolkits and Delphi's VCL Forms, it also works with other toolkits that render their own controls but expose their interface for accessibility purposes (I think Java's swing is such a case).
White uses the UI Automation Framework internally so theoretically it can handle anything that the Automation Framework can handle.
Using OCR would be a lot of work and the results probably wouldn't be very good, so you should use White if you are coding in .NET or the UI Automation Framework's COM Object otherwise, because theres nothing as easy to use or that works with such an amount of interface types as the Automation Framework (I at least, haven't found anything else).
Problem
I have been working on AutoIT and windows automation for more than 03 Years but mostly on WinForms. AutoIT does not work on WPF or Java SWT UI. I have used White Framework a little bit. I want to write a generic application for testing and 03rd party UI automation to which I pass an xml with a list of window-title, window-text, UI-control-text and action (right or left click) - exactly like AutoIT control-click function and it executes the action. My requirement is that it should work on all windows desktop applications (whether they are written in C, C++, .Net Winforms, .Net WPF, Silver-light, Java, Delphi, Qt or anything). The end user will be our operations or testing team (who won't be able to code). What approach should I take ? - Does Microsoft UI Automation framework supports all types of windows UI automation ? - Is White framework better than Microsoft UI Automation (I checked - White internally also uses Rhino) ? - Should I write my own library which uses OCR to detect the controls (same as a human user would do) ? What drawbacks would using OCR pose ? Regards Akshay Mishra