这个问题与单元测试无关.它适用于桌面产品.
这是关于测试gui并测试在正确的时间在正确的文本框中输入正确的东西.
我曾经在二手WinRunner工作的公司(不同的部门,所以我不太了解那个),但现在惠普关闭了这个公司,但他们似乎并不担心你是留在惠普还是去其他地方.在您注册之前,您无法阅读该产品,这很烦人.
该工具必须与MFC(不可协商)一起使用,理想的工具也将......
自动化.
可编写脚本.
自动使用不同的屏幕分辨率.
能够"窥探"个别静态文本框等.
足够直观,非程序员可以创建脚本.
有报告工具,包括个人用户的电子邮件.
其他SO用户为自动GUI测试做了什么?
我们使用Rational Robot 的SAFS框架(RRAFS).还有WinRunner(WRAFS)的SAFS实现,看起来他们有一个新的"基于图像的测试"实现,我不熟悉.
这个框架可以很好地从测试脚本中分离UI实现.我测试了由两个不同团队开发的四个Web应用程序版本(一个团队使用经典ASP,一个使用ASP.NET),我只需要更改UI对象的应用程序映射,测试本身不需要更改.
也就是说,框架的语言很麻烦,需要习惯.就语言结构而言,它不是很强大,但通过一些努力,你可以做任何你需要做的事情.它有点像Windows Batch语言中的"编程",但对于测试;)
为满足您的上述个人要求:
1)该工具必须与MFC一起使用(不可协商). SAFS框架使用第三方"记录回放"工具来驱动测试,例如Rational Robot或Mercury WinRunner.如果该工具可以与MFC应用程序交互,那么框架可以.我不知道"基于图像的测试"实现如何驱动测试,但我猜它也适用于MFC.
2)自动化. SAFS框架与STAF框架集成,允许您自动执行测试.我有一个概念验证测试,它使用STAF从映像池启动VM映像,安装正在测试的应用程序,运行RRAFS测试,并将结果放在Web服务器上供其他人使用.
3)可编写脚本. 是的,但如上所述,它不是最强大的编程语言.我写了一个Excel加载项,我们的测试人员用它来编写测试,简化了一些事情.
4)自动使用不同的屏幕分辨率. 是的,因为它看起来是UI对象的"幕后",而不是屏幕.可能是"基于图像的测试"选项...
5)能够在单个静态文本框等"间谍" 是的,你可以等待UI对象出现,即消失,有一个值,值改变,等等.
6)足够直观,以便非程序员可以创建脚本. 经过一些培训.我们的成功有限.一些质量保证人员可以编写测试,有些人很费劲.
7)有报告工具,包括个人用户的电子邮件. 是的,使用STAF框架,您可以将结果发布到Web服务器,发送电子邮件等.