2011-10-03 43 views
1

我是C++应用程序开发的初学者。我使用Visual Studio,并且我有一个应用程序可以像Photoshop那样处理图像。我希望自动化我的应用程序的用户界面,并通过保存处理后的文件自动测试各种情况。我在我的Win 7机器上使用Visual Studio进行开发,没有.NET。我有什么选择使我的测试自动化?在Windows 7平台上自动实现UI

谢谢

回答

2

在Windows 7(和Vista/XP,如果您安装更新),您可以使用基于COM的Microsoft UI自动化API用C++编写UI自动化客户端。

我已经用这种方式成功地自动化了Windows应用程序的UI。它工作的很好,只需要一点额外的工作就可以从基于C语言的脚本语言解释器(例如Python和Ruby)中调用。

在UIA COM API上查找文档可能有点棘手,因为对“MS UI自动化”的搜索通常会在.NET界面上而不是在COM界面上显示信息(COM界面更新且不尽如人意 - 已知的)。

由于Boann提到你也可以使用第三方库,比如AutoIt。这可以缓解一些学习曲线和额外的工作。 AutoIt公开了自己的COM接口(AutoItX),您可以从C++应用程序中使用它。

如果你想了解在C++编写COM UIA应用这里有一些链接上手:

的UI自动化客户端程序员在MSDN指南:

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

http://blogs.msdn.com/b/winuiautomation/archive/2011/05/18/building-ui-automation-client-applications-in-c-and-c.aspx

Windows辅助和自动化论坛:

http://social.msdn.microsoft.com/Forums/en-US/windowsaccessibilityandautomation/threads