我是C++应用程序开发的初学者。我使用Visual Studio,并且我有一个像Photoshop一样处理图像的应用程序。我希望自动化我的应用程序的UI,并通过保存处理过的文件来自动测试各种场景。我在我的Win7机器上使用Visual studio进行开发,没有.NET。我有哪些选项可以自动测试?
谢谢
发布于 2011-10-05 00:08:11
在Windows7(和Vista/XP,如果您安装了更新)上,您可以使用基于COM的Microsoft UI Automation API在C++中编写UI自动化客户端。
我已经成功地通过这种方式自动化了Windows应用程序的UI。它工作得很好,甚至可以从理解COM的基于C的脚本语言解释器(例如Python和Ruby)中调用。
查找有关UIA的文档可能有点困难,因为搜索"MS UI Automation“通常会在.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
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
发布于 2011-10-04 03:42:36
一种名为AutoIt Script的语言是专门为Windows UI自动化设计的。遗憾的是,它是一种类似于Basic的语言,而不是类似于C的语言,但它做得很好:http://www.autoitscript.com/site/autoit/
https://stackoverflow.com/questions/7639797
复制相似问题