是否有任何工具使用图像识别(搜索,比较,验证图像)作为自动化和测试GUI软件的基础。我知道ranorex支持它。有没有更好的工具?使用图像识别来推动测试自动化是否有任何问题?
答案 0 :(得分:5)
好的,首先,我了解以前的答案:使用图像识别测试应用程序并不是测试GUI的最佳方法。但是,与此同时,我不明白你为什么不首先回答这个问题。他要求使用那种方式工作的工具,我认为他足够聪明,能够理解他的目标。
好的,现在是主题,我的选择包括:
答案 1 :(得分:1)
我也不鼓励使用带有SendKeys的图像识别和点击坐标或(按钮图像)进行UI测试。我最近使用UI自动化成功地自动测试WPF应用程序。通过在我们的应用程序的XAML中放置小的面包屑(Automation.AutomationID =“OkButton”),我已经能够编写一些C#单元测试来运行应用程序的不同方面。即使没有面包屑,UI Automation仍然能够运行应用程序,但在尝试识别UI上的控件时稍微困难一些。
关于代码项目的一篇体面的文章可作为起点。
http://www.codeproject.com/KB/WPF/UIAutomation.aspx
您还需要来自Microsoft的免费工具UI Spy,它可以帮助您查找控件并通过UI Automation手动执行控件作为编写脚本的指导。安装搜索UISpy.exe后,该工具将隐藏在Windows Vista SDK中。只需将EXE复制到目标计算机,UI Spy工具仍然可以在Windows XP计算机上运行。
答案 2 :(得分:1)
考虑使用AutoItScript在测试场景中驱动基于Windows的GUI - 并刮掉UI。考虑tesseract开源光学字符识别。也是用于机器视觉的OpenCV。
免费AutoItScript在API级别工作,您可以读取各种Widgets和Windows部分的状态,向这些UI组件发送操作,等待状态更改等。可以生成高度可靠的自动化代码,确保关注Windows和分辨率独立性。
答案 3 :(得分:1)
让我建议另一种解决方案 它不是一个完整的UI自动化框架,而是一个专门用于图像验证的工具 它还允许您忽略图像的不稳定部分(随机数据等) 它将与您选择的任何其他UI测试框架集成:Selenium,Sikuli等。
答案 4 :(得分:0)
感谢您的评论!请看一下RoutineBot - 界面测试软件,点击某些图像模式,亲自了解这个想法是如何实现的 自动化工具!
答案 5 :(得分:0)
老问题,但也许这个答案可能对某人有用。我目前正在使用两种产品,
通过Automation Anywhere(http://www.automationanywhere.com/Testing/)
随处测试和Quick Test Professional,由HP(http://www8.hp.com/us/en/software-solutions/software.html?compURI=1172957#.UhJBwpLW5-k)
他们两个都做得很好,都支持使用图像识别。我并不完全相信图像识别本身就是一件坏事。与所有事情一样,您必须根据自己的特定需求定制方法,并使用正确的工具来完成工作。
答案 6 :(得分:0)
我以为我会在这个帖子中添加另一个条目。事情可能已经改变,不确定,但是当我上次看到演示时,该产品提供了类似Sikuli的IDE /接口/功能,同时作为商业产品并支持模拟器之外的实际设备。不知道该工具是否已经改进,现在可以通过图像之外的标识符来检测对象。
查看测试