当我使用SikuliLibrary捕获的图像时,有没有办法让我的测试支持RIDE中的多平台?

时间:2017-06-15 07:36:07

标签: robotframework sikuli sikuli-script robotframework-ide

我在使用SikuliLibrary时遇到问题,因为我的测试应该在Windows 7和Windows 10上运行。 我该怎么办?有些图像是相同的,但有时会有很大的不同,所以无法找到它。 你有什么建议?

  • 如果Sikuli在Windows 7中找到图像1或在Windows 10中找到图像2,请使用条件?
  • 您是否还有其他建议或库(不是AutoIt,因为当我从一个屏幕切换到另一个屏幕时点击不一样;我在服务器上运行测试)?

2 个答案:

答案 0 :(得分:3)

刚刚回答了一个非常相似的问题here。 Sikuli正在使用一个非常简单的原理,扫描屏幕并将存储的模式与定义的相似性分数相匹配。无法应用允许在不同系统上使用替代模式的配置。

在不同于创建模式的机器上运行Sikuli时,几乎没有可能的解决方案。这是因为只有很小的差异。

  1. 关闭ClearType(仅适用于Windows)
  2. 降低相似度得分
  3. 关闭“平滑屏幕字体边缘”(仅适用于Windows)
  4. 更多详细信息,请参阅this文章。

答案 1 :(得分:1)

您可以使用操作系统文件名后缀来组织图像。例如,考虑以下伪代码:

# On Suite Setup
${Platform}=    Set Variable If    Windows7     '_Win7'    '_Win10'
Set Suite Variable    ${Platform}

# On Test case
# Then the file name should be selected by
Click    ${mySomethingButton}${Platform}.png