Video exhibits how easily can any Windows GUI Application be automated with the help of Microsoft® VisualUIVerify + UI Automation and using QAthing library.
For more sample videos visit Youtube channel (QAthing Club).
The project, QAthing, was started as for educational purpose. Only basic or general scenarios have been addressed in the videos. For complex scenarios you may send your queries at email@example.com or visit FAQ page.
Automating any Windows application is not a big deal!, a lot of help is available over the internet.
Idea was to achieve Automation using a simple and intuitive way. In this regards a few changes have been made to VisualUIVerify (its code is available - The Tool); and the changes are made to grab features and properties of any UI Control (of any active application). In this idea, VisualUIVerify is used as a UI Control inspector accompanied by a library (QAthing.dll) which actually, with the help of KB files, imitates user activity.
Automation via this technique is like handling with building blocks where you design your own tests or scripts using Keywords. Keyword is a basic building block which defines any UI Control - it is like a contact-card (or descriptor) for any UI Control. At first, you define Keywords for the UI Controls that you want to include in your test script (or scenario), once all the Keywords are recorded, you then use them in your scripts and, with the help of QAthing.dll, you impersonate user operations, 'Mouse Clicks', for instance.
The code has been run through many test cases in that all the typical UI Controls have been accessed, and with those results indicating that almost any Windows application can be automated using this idea (The Tool and Library). The work that has been done so far is more than POC.
2 Step Automation
- Build KeywordBook (Phone book) file by creating Keywords (UI Controls' contact-card) for any application - this is to let the process know about the application and its UI Controls.
- With the help of the library, QAthing.dll, access UI Control(s) using their respective Keyword(s), and imitate user operations (or actions).