Sikuli更改屏幕尺寸

时间:2019-03-12 11:38:44

标签: user-interface jenkins size resolution sikuli

我们正在运行Sikuli进行GUI(图像验证)测试。

我们正在本地和Jenkins级别运行脚本,其中脚本首先使用从本地计算机获取的图像开发并用于在Jenkins上进行测试。

问题在于测试用例正在本地计算机级别传递,但在Jenkins级别始终失败。

以下是我们注意到的一些可能导致此问题的原因: Jenkins和本地计算机之间的屏幕分辨率不同

  • 屏幕分辨率和/或大小与Jenkins和本地计算机不同
    • 本地计算机分辨率为1920x1080x24
    • Jenkins机器分辨率由xvfb 1920x1080x24设置
    • 但是,运行脚本时,Jenkins机器上的屏幕尺寸设置为1440x810
    • 我们目前尚未找到使用Sikuli调整此屏幕尺寸的方法;使用Sikuli或其他工具更改屏幕尺寸的任何建议都很好。
  • Jenkins和本地计算机之间的浏览器版本不同
    • Jenkins使用的是firefox Webdriver
    • 本地计算机正在使用firefox Webdriver
    • 我们认为这是一个问题,因为Jenkins机器的屏幕截图工件向人们展示了看起来不同的字体形状。我们说形状显然是相同的字体大小,样式等。

2 个答案:

答案 0 :(得分:0)

您应该在SikuliX的官方问答委员会Launchpad上问这些问题。 我是SikuliX的RaiMan开发人员。

您使用的是哪个版本的Sikuli(X)?推荐的1.1.4。

SikuliX通常没有设置屏幕分辨率的功能。这是由系统环境给出的。

如果图像探针(捕获的图像)包含文本,则搜索取决于图像和当前屏幕中字体的相似程度。差异通常会导致FindFailed。

通常,要在当前屏幕上找到的图像探针的大小(以像素为单位)。

http://sikulix.com

答案 1 :(得分:0)

只想回答我自己的问题:

使用Sikuli的GUI(图像/像素)取决于以下因素:

  • 浏览器类型
  • 屏幕分辨率
  • 屏幕尺寸
  • 操作系统

这些超出了范围,无法在Sikuli中进行配置(并且也根据团队使用的技术堆栈进行了预先设置),因此最好尽可能地调整开发和测试执行机器。

下一个选项是使用SikuliX的OCR功能。