在Windows 7平台上自动化UI

时间:2011-10-03 19:37:50

标签: user-interface ui-automation

我是C ++应用程序开发的初学者。我使用Visual Studio,我有一个像Photoshop一样处理图像的应用程序。我希望自动化我的应用程序的UI并通过保存处理过的文件自动测试各种场景。我在Win 7机器上使用Visual Studio进行开发,没有.NET。我有什么选择来自动化我的测试?

由于

2 个答案:

答案 0 :(得分:4)

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

我已经成功地以这种方式自动化了Windows应用的UI。它工作得很好,甚至可以从理解COM(例如Python和Ruby)的基于C语言的脚本语言解释器调用一些额外的工作。

查找有关UIA COM API的文档可能有点棘手,因为搜索“MS UI Automation”通常会在.NET接口而不是COM接口上显示信息(COM接口更新,而且不是众所周知的)。

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

如果您想阅读有关使用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

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

答案 1 :(得分:0)

一种名为AutoIt Script的语言专为Windows UI自动化而设计。可悲的是,它是一种基于类似语言的语言,而不是类似C语言的语言,但它完成了它所说的: http://www.autoitscript.com/site/autoit/