Sikuli 改变屏幕大小
Sikuli changing screen size
我们是 运行 用于 GUI(图像验证)测试的 Sikuli。
我们是 运行 本地和 Jenkins 级别的脚本,其中脚本首先使用从本地计算机抓取的图像开发,并用于在 Jenkins 上进行测试。
问题是测试用例在本地机器级别通过,但在 Jenkins 级别一直失败。
以下是我们注意到的一些可能导致此问题的原因:
Jenkins 和本地机器的屏幕分辨率不同
- 屏幕分辨率and/or大小与 Jenkins 和本地机器不同
- 本地机器分辨率为 1920x1080x24
- Jenkins 机器分辨率由 xvfb 设置 1920x1080x24
- 但是当 运行 脚本设置为 1440x810
时,Jenkins 机器上的屏幕尺寸
- 我们目前还没有找到使用 Sikuli 调整此屏幕大小的方法;任何使用 Sikuli 或其他工具更改屏幕尺寸的建议都会很棒。
- Jenkins 和本地机器的浏览器版本不同
- Jenkins 正在使用 firefox webdriver
- 本地机器正在使用 firefox webdriver
- 我们认为这是问题,因为 Jenkins 机器的屏幕截图伪像向眼睛显示了看似不同的字体形状;我们说形状 bc 显然它们具有相同的字体大小、样式等。
你应该在 SikuliX 的官方问答板 Launchpad 上提出这样的问题。
我是SikuliX的RaiMan开发者。
您使用的是什么版本的 Sikuli(X)?推荐 1.1.4.
SikuliX一般没有设置屏幕分辨率的功能。这是系统环境给的。
如果图像探测器(捕获的图像)包含文本,则搜索取决于图像和当前屏幕中字体的相似程度。差异通常会导致 FindFailed。
一般来说,图像探测器的大小(以像素为单位)必须与要查找的当前屏幕上的大小相同。
只想回答我自己的问题:
使用 Sikuli 的 GUI (image/pixel) 取决于以下因素:
- 浏览器类型
- 屏幕分辨率
- 屏幕尺寸
- OS
这些不在Sikuli范围内,无法在Sikuli中配置(也根据团队使用的技术堆栈进行预设)因此最好尽可能对齐开发和测试执行机器。
原因是下面的formula是在匹配图像时使用的,它被限制在一个网格中。
下一个选项是使用 SikuliX 的 OCR 功能。
我们是 运行 用于 GUI(图像验证)测试的 Sikuli。
我们是 运行 本地和 Jenkins 级别的脚本,其中脚本首先使用从本地计算机抓取的图像开发,并用于在 Jenkins 上进行测试。
问题是测试用例在本地机器级别通过,但在 Jenkins 级别一直失败。
以下是我们注意到的一些可能导致此问题的原因: Jenkins 和本地机器的屏幕分辨率不同
- 屏幕分辨率and/or大小与 Jenkins 和本地机器不同
- 本地机器分辨率为 1920x1080x24
- Jenkins 机器分辨率由 xvfb 设置 1920x1080x24
- 但是当 运行 脚本设置为 1440x810 时,Jenkins 机器上的屏幕尺寸
- 我们目前还没有找到使用 Sikuli 调整此屏幕大小的方法;任何使用 Sikuli 或其他工具更改屏幕尺寸的建议都会很棒。
- Jenkins 和本地机器的浏览器版本不同
- Jenkins 正在使用 firefox webdriver
- 本地机器正在使用 firefox webdriver
- 我们认为这是问题,因为 Jenkins 机器的屏幕截图伪像向眼睛显示了看似不同的字体形状;我们说形状 bc 显然它们具有相同的字体大小、样式等。
你应该在 SikuliX 的官方问答板 Launchpad 上提出这样的问题。 我是SikuliX的RaiMan开发者。
您使用的是什么版本的 Sikuli(X)?推荐 1.1.4.
SikuliX一般没有设置屏幕分辨率的功能。这是系统环境给的。
如果图像探测器(捕获的图像)包含文本,则搜索取决于图像和当前屏幕中字体的相似程度。差异通常会导致 FindFailed。
一般来说,图像探测器的大小(以像素为单位)必须与要查找的当前屏幕上的大小相同。
只想回答我自己的问题:
使用 Sikuli 的 GUI (image/pixel) 取决于以下因素:
- 浏览器类型
- 屏幕分辨率
- 屏幕尺寸
- OS
这些不在Sikuli范围内,无法在Sikuli中配置(也根据团队使用的技术堆栈进行预设)因此最好尽可能对齐开发和测试执行机器。
原因是下面的formula是在匹配图像时使用的,它被限制在一个网格中。
下一个选项是使用 SikuliX 的 OCR 功能。