我想使用 Sikuli 来自动化在 Mac OS X 和 Windows 上的浏览器中运行的 GUI 应用程序和 Web 应用程序。目前,我的目的不是测试,而是为团队提供 GUI 自动化执行繁琐、重复性的任务,不幸的是,该团队目前没有较低级别的自动化访问权限。
我想为 GUI 应用程序和 Web 应用程序构建一个或多个屏幕截图库,以便在项目中重复使用。我经常为不同的应用程序运行相同的自动化步骤,或者对于 Web 应用程序,在不同的浏览器/平台组合中运行相同的自动化步骤。
构建可重用的 Sikuli 屏幕截图库有哪些好的策略?一些想法:
- 我应该在 Sikuli 之外捕获屏幕截图,然后对这些图像进行切片/切块以提取 Sikuli 中的特定界面元素吗?
- 如何才能最好地跟踪类似 GUI 应用程序中等效界面元素的屏幕截图?
- 如何才能最好地跟踪在不同浏览器或平台上看到的相同 Web 应用程序的屏幕截图?
- 我怎样才能最好地组织分层的元素,比如菜单,你必须选择1,然后选择2,然后选择3(但下一个选择仅在选择上一个选择后才会出现)?
- 屏幕截图是否应该保存为变量以便能够更通用地引用它们?
- 我应该构建包含屏幕截图的 Python 列表或字典吗?
- 我应该根据应用程序/平台将屏幕截图分组到单独的 Sikuli 文件中吗?
我假设在所有这些中我可以像 Python 模块一样导入库,从文档来看这当然是可能的。
Thanks!
有一个名为“强大的 Sikuli GUI 自动化库 http://code.google.com/p/rguils/".
即使您最终没有使用该库,通过查看他们对问题的实现,也可以学到一些非常好的经验教训。
一些建议:
我应该在 Sikuli 之外捕获屏幕截图,然后对这些图像进行切片/切块以提取 Sikuli 中的特定界面元素吗?
比如何获取元素更重要的是如何存储这些元素。我标准化了图形的命名方式,即:Button_OK.png而不是西库利的不可预测的_默认_名称.png
-
您可以在 Sikuli 脚本中“即时”添加图像库。将不同浏览器和平台的图形存储在不同的目录中。
myImagePath = "M:\\myImageLibrary\\"
addImagePath(myImagePath)
我怎样才能最好地跟踪等效界面的屏幕截图
类似 GUI 应用程序中的元素?
命名约定!
\\firefox\\Button_OK.png
\\IE8\\Button_OK.png
你还可以玩弄“相似度”Pattern http://doc.sikuli.org/pattern.html#Pattern.similar在 IE 和 Firefox 上获得相同的图形(但没有误报)。这可能需要一些尝试和错误。
我应该构建包含屏幕截图的 Python 列表或字典吗?
这是一个非常好的做法,在某些情况下对我来说效果很好。但有时,文件名比列表偏移量更能说明脚本功能。
我假设在所有这些中我可以像 Python 模块一样导入库,从文档来看这当然是可能的。
是的你可以导入库 http://doc.sikuli.org/globals.html#importing-other-sikuli-scripts-reuse-code-and-images.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)