我们使用SAFS框架用于 Rational Robot (RRAFS)。 WinRunner (WRAFS) 也有 SAFS 实现,看起来他们有一个新的“基于图像的测试”实现,我对此不熟悉。
该框架很好地将 UI 实现与测试脚本分开。我已经测试了由两个不同团队(一个团队使用经典 ASP,一个使用 ASP.NET)开发的 Web 应用程序的四个版本,我只需要更改 UI 对象的应用程序映射,测试本身不需要改变。
也就是说,该框架的语言很麻烦并且需要习惯。就语言结构而言,它不是很强大,但是通过一些努力,您可以做任何您需要做的事情。这有点像 Windows Batch 语言中的“编程”,但用于测试;)
为了满足您的上述个人要求:
1) 该工具必须与 MFC 配合使用(不可协商)。SAFS 框架使用第三方“记录回放”工具来驱动测试,例如 Rational Robot 或 Mercury WinRunner。如果该工具可以与 MFC 应用程序交互,那么框架也可以。我不知道“基于图像的测试”实现如何驱动测试,但我猜它也可以与 MFC 一起使用。
2) 自动化。SAFS 框架与工作人员框架,这将允许您自动执行测试。我有一个概念验证测试,它使用 STAF 从映像池启动 VM 映像,安装受测试的应用程序,运行 RRAFS 测试,并将结果放在 Web 服务器上以供其他人获取。
3) 可编写脚本。是的,但正如前面提到的,它不是最强大的编程语言。我编写了一个 Excel 插件,我们的测试人员用它来编写测试,这稍微简化了事情。
4) 自动使用不同的屏幕分辨率。是的,因为它“在幕后”查看 UI 对象而不是屏幕。除了“基于图像的测试”选项之外......
5) 能够“监视”各个静态文本框等。是的,您可以等待 UI 对象出现、消失、具有值、更改值等。
6) 足够直观,因此非程序员也可以创建脚本。经过一些训练。我们取得的成功有限。有些 QA 人员可以编写测试,有些则很困难。
7) 拥有报告工具,包括个人用户的电子邮件。是的,使用 STAF 框架,您可以将结果发布到 Web 服务器、发送电子邮件等。