任何开源浏览器GUI自动化工具,它将支持点击特定图标,无论它们在页面上的哪个位置?

时间:2010-11-06 00:09:33

标签: windows linux selenium watir ui-automation

在Windows或Linux平台上,是否有一个GUI自动化工具可以打开浏览器页面(任何浏览器,我都不在乎),然后点击特定图标图像的每个实例,无论它在哪里在页面上,无论它存在多少次。

我似乎在IBM的Rational Robot中回忆起这种能力。是否有一个开源的替代品,身无分文(哦,是啊......道德优越:-))

编辑:

我希望能够点击特定的位图或矩形像素,无论它在页面上,即使它在较大的图像中,或者它出现在闪光窗口中。无论图像存在于页面上的哪个位置,以及容器或图像的名称,都单击它。

6 个答案:

答案 0 :(得分:3)

请查看sikuli.org

另见:SO {/ em>

上的sikuli related questions

它使用基于图像的屏幕截图识别,并具有集成的脚本编辑器,允许您直接插入脚本插入目标按钮图像。

它可在Windows和Mac OS上运行,适用于任何应用程序(包括浏览器)。

脚本语言是Jython。

该库是MIT许可证的开源软件。实际上,它是在麻省理工学院开发的。

答案 1 :(得分:1)

你看过Watir了吗?这是一个用Ruby编写的基于浏览器的Web应用程序自动化框架。

答案 2 :(得分:1)

如果您知道图片网址,请使用此selenium选择器:

"dom:var elist=document.getElementsByTagName('img');var toret = null;
for (var i=0; i<elist.length; i++) { if (elist[i].src=='something.png') {
toret = elist[i]; } }; toret"

http://seleniumhq.org/docs/04_selenese_commands.html#locating-by-dom

答案 3 :(得分:1)

AutoIt是另一个很好的自动化工具。您可以检查IE的用户定义函数(UDF),它是默认包的一部分。

它提供了很多自动化IE管理,Windows系统级管理,声音管理等,

您可以从下载免安装软件包http://www.autoitscript.com/cgi-bin/getfile.pl?autoit3/autoit-v3-sfx.exe开始,并在UDFs3.chm帮助文件中查看IE Management UDF的示例。

答案 4 :(得分:0)

如果您的图像在页面上可通过CSS ID识别,您应该能够使用cucumber/webrat和/或黄瓜/硒(后者,如果您还想在页面中测试javascript)来完成此操作。不是GUI工具,但非常强大。

答案 5 :(得分:0)

答案是否定的:没有一个开源工具可以做到这一点。那是因为这是一个坏主意。像Rational这样的商业工具试图这样做,因为他们试图成为所有人的所有事情(即使他们不能很好地工作)。但是通过位图图像进行选择很容易思考并且难以可靠地执行,因此现代流行的工具都没有尝试过。相反,他们专注于如何成功。

正确的做法,就像其他人已经说过的那样,是通过CSS选择器或图像文件名来选择图像。这可以通过任何现代GUI测试工具可靠地完成:Watir,Selenium,W​​ebrat ......