测试C++ GUI桌面windows应用程序的自动化工具/库/框架

Rob*_*ert 8 c++ testing user-interface desktop automation

不幸的是,我有一个在Windows上运行的GUI桌面应用程序,并使用Borland C++编译器进行编译.我知道这是一项非常古老的技术,但这就是生活.我工作的公司有很多免费的QTP许可证.但说实话,我不喜欢这个工具,我想用一些开源替代品来改变它.

我对使用Selenium的自动化Web服务和一些java swing applet有一些经验.我基于Java/JUnit创建了测试.我想知道我是否可以在Java中创建一些测试来测试我的C++应用程序 - 这会很棒.如果我不能使用任何C/C++库来创建我自己的测试框架.

这不应该是单元测试.我想创建一套功能测试.我希望能够本地化按钮,表格,单元格等对象,执行点击,更改焦点等操作.

另外我可以访问源代码.但这是一个旧的意大利面条代码,我对C++应用程序没有多少经验.

你有什么建议?

Sim*_*ele 5

开源工具

White是一个基于.NET的UI自动化工具,可以自动化win32应用程序以及其他类型.只要您的应用程序中使用的控件使用Windows的标准UIAutomation挂钩公开其内容/行为,那么您应该能够使用它来执行您需要的操作.

UIAutomation Verify是另一个CodePlex项目,它使用相同的API来自动化符合UIA的UI.

视觉工作室

最后,如果您可以访问它,那么Visual Studio 2010具有内置于Premium/Ultimate版本的脚本UI测试功能 - 编码UI测试.这支持具有记录/重放和脚本功能的.NET,本机和Web应用程序.


Soo*_*Tan 5

我们使用Sikuli并且对它非常满意.它在各种自动化API之外工作,因此它可以很好地处理非标准UI.