6

是否有任何工具使用图像识别(搜索、比较、验证图像)作为自动化和测试 GUI 软件的基础。我知道 ranorex 支持它。有没有更好的工具?使用图像识别来驱动测试自动化有什么陷阱吗?

4

7 回答 7

5

好的,首先,我确实理解前面的答案:使用图像识别测试应用程序并不是测试 GUI 的最佳方法。但是,与此同时,我不明白你为什么不首先回答这个问题。他正在寻求能够以这种方式工作的工具,我认为他足够聪明,能够理解他将要进入的领域。

好的,现在主要主题,我的选择包括:

  • Sikuli,一个基于 GNU-like MIT 许可的 MIT 项目。它使用 Python 而不是 Jython。自由的。
  • TestPlant eggPlant,一个通过 VNC 服务器工作的工具,因此您可以在任何 VNC 兼容平台(包括智能手机)中测试应用程序。它有一些不错的功能,如 OCR、测试计划等。它使用 SenseTalk。不是免费的,你可以申请试用。
  • Routine Bot,我从未使用过它,但它似乎非常有用。
于 2012-09-10T14:43:12.993 回答
1

考虑使用 AutoItScript 在测试场景中驱动基于 Windows 的 GUI - 并刮掉 UI。考虑 tesseract 开源光学字符识别。还有用于机器视觉的 OpenCV。

免费 AutoItScript 在 API 级别工作,您可以读取各种 Widget 和 Windows 部分的状态,也可以向这些 UI 组件发送操作,等待状态更改等。可以生成高度健壮的自动化代码,以确保专注于 Windows 和分辨率独立。

于 2011-07-04T15:10:48.497 回答
1

我也不鼓励使用带有 SendKeys 和 Click at Coordinates 或(按钮图像)的图像识别来进行 UI 测试。我最近一直在使用 UI 自动化成功地自动化 WPF 应用程序的测试。通过在整个应用程序的 XAML 中放置小面包屑 (Automation.AutomationID="OkButton"),我已经能够编写一些 C# 单元测试来练习应用程序的不同方面。即使没有面包屑,UI 自动化仍然能够运行应用程序,但在尝试识别 UI 上的控件时会稍微困难一些。

一篇关于 Code Project 的体面文章可作为起点。

http://www.codeproject.com/KB/WPF/UIAutomation.aspx

您还需要 UI Spy,这是 Microsoft 提供的免费工具,它可以帮助您找到控件并通过 UI 自动化手动执行控件,作为编写脚本的指导。该工具埋在 Windows Vista SDK 中,安装后搜索 UISpy.exe。只需将 EXE 复制到目标机器,UI Spy 工具仍然可以在 Windows XP 机器上运行。

于 2009-12-03T22:55:02.937 回答
1

让我建议另一种解决方案。
它不是一个完整的 UI 自动化框架,而是一个专门用于图像验证的工具。
它还允许您忽略图像的不稳定部分(随机数据等)
。它将与您选择的任何其他 UI 测试框架集成:Selenium、Sikuli 等。

http://visualci.com

于 2014-10-28T19:30:27.647 回答
0

谢谢你的评论!请看一下 RoutineBot——基于单击某些图像模式的界面测试软件,并亲自看看这个想法是如何在自动化工具中实现的!

于 2009-09-30T20:54:10.903 回答
0

老问题,但也许这个答案可能对某人有用。我目前正在使用两种产品,

通过 Automation Anywhere ( http://www.automationanywhere.com/Testing/ )随时随地进行测试

和 HP 的 Quick Test Professional ( http://www8.hp.com/us/en/software-solutions/software.html?compURI=1172957#.UhJBwpLW5-k )

他们俩都做得很好,并且都支持使用图像识别。我并不完全相信图像识别本身就是一件坏事。与所有事情一样,您必须根据自己的特定需求调整方法,并使用正确的工具来完成工作。

于 2013-08-19T16:06:29.747 回答
0

只是想我会在这个线程中添加另一个条目。事情可能已经改变了,不确定,但当我上次看到演示时,该产品提供了类似 Sikuli 的 IDE/接口/功能,同时作为商业产品并支持模拟器之外的实际设备。不知道该工具是否已经改进,现在可以通过图像以外的标识符检测对象。

参见http://expitest.com的测试

于 2013-12-05T02:07:24.563 回答