sta*_*k1s 2 user-interface ui-automation
我是 C++ 应用程序开发的初学者。我使用 Visual Studio,并且有一个应用程序可以像 Photoshop 一样处理图像。我希望通过保存处理过的文件来自动化我的应用程序的 UI 并自动测试各种场景。我在我的 Win 7 机器上使用 Visual Studio 进行开发,没有 .NET。我有哪些选项可以自动化我的测试?
谢谢
在 Windows 7(和 Vista/XP,如果您安装更新)上,您可以使用基于 COM 的 Microsoft UI 自动化 API 以 C++ 编写 UI 自动化客户端。
我已经通过这种方式成功地自动化了 Windows 应用程序的 UI。它工作得很好,甚至可以从理解 COM 的基于 C 的脚本语言解释器(例如 Python 和 Ruby)调用一些额外的工作。
在 UIA COM API 上查找文档可能有点棘手,因为搜索“MS UI 自动化”通常会在 .NET 接口而不是 COM 接口上找到信息(COM 接口要新得多,而且知名度不高)。
正如 Boann 提到的,您也可以使用第三方库,例如 AutoIt。这可以缓解一些学习曲线和额外的工作。AutoIt 公开了它自己的 COM 接口 (AutoItX),您可能可以从 C++ 应用程序中使用它。
如果您想阅读有关用 C++ 编写 COM UIA 应用程序的信息,这里有一些入门链接:
MSDN 上的 UI 自动化客户端程序员指南:
http://msdn.microsoft.com/en-us/library/ee684021(v=VS.85).aspx
http://msdn.microsoft.com/en-us/library/ee671216(v=VS.85).aspx
IUIAutomation 接口:
http://msdn.microsoft.com/en-us/library/windows/desktop/ee671406(v=vs.85).aspx
几篇带有示例代码的有用文章:
http://www.code-magazine.com/articleprint.aspx?quickid=0810052&printmode=true
Windows 辅助功能和自动化论坛:
http://social.msdn.microsoft.com/Forums/en-US/windowsaccessibilityandautomation/threads