2016-05-31 40 views
0

我是sikuli的新手。 我正在使用它来进行我的java spring standalone应用程序的功能测试自动化。我在屏幕上的多个位置拥有相同的一组图像(徽标)。并且它们是根据应用程序数据动态生成的。在那种情况下,我如何找到并点击UI中的某些按钮/元素。 例如:喜欢,分享,评论文字/图片将会在Facebook页面中出现好几次。因为我们如何点击特定的按钮(facebook仅仅是一个例子),我想为我的应用程序提供类似的解决方案。如何使用sikulix找到相同的徽标,UI元素

+0

目前尚不清楚你试图达到什么样的目标以及你的问题是什么?有什么你正在尝试,它不工作?请提供更多细节。 –

回答

0

我想你问的是 - 给定一个情况,同一个图像或UI元素多次出现在同一个页面上,我怎样才能在一个位置指定其中一个元素而不是另一个元素?

这样做的快速简单的方法是捕获一张更大的图片,就像尽可能多的窗口一样,然后在点击动作后点击圆括号中的图片;这会打开一个窗口读取文件,匹配预览和目标偏移量。单击目标偏移量,使用鼠标滚轮放大,然后单击要单击的图片的确切点。

如果您使用不同的click()命令,并且可以为每个click()命令设置目标偏移量而不需要新图片,则可以在捕获的图像上的多个位置单击。

只有这一张图片,你可以点击棋盘上的每个方块,只要你花时间设置每个64点击()命令的偏移量就可以了。 http://files.chesscomfiles.com/images_users/tiny_mce/cigoL/Chessboard.png

更困难的解决方案将是设置区域,并搜索这些区域的匹配图片,但为了你要找的这个应该 - 更多关于区域和设置它检查下面的链接。干杯!

http://sikulix-2014.readthedocs.io/en/latest/index.html

0

根据你的FB例如,你可以使用setROI()把重点放在页面顶部后(想象,涵盖了新闻提要完整后矩形),从那里,我可以循环:

if exists(profile pic): 
     click(like button) 
    elif exists(profile pic 2): # If you are testing more than one user 
     click(like button) 
    else : type(Key.DOWN) #repeat as needed 

将下一篇文章转化为投资回报可能会非常棘手,但如果您可以通过系统上的每个滚轮单击来调整您的线条,那么使用WHEEL_DOWN可能会有所帮助。

相关问题