我们正在运行Sikuli进行GUI(图像验证)测试。
我们在Local和Jenkins级别运行脚本,首先使用从本地机器中获取的图像开发脚本并用于在Jenkins上进行测试。
问题是测试用例在本地机器级别传递,但在Jenkins级别一直失败。
以下是我们注意到的一些可能导致此问题的事情:Jenkins和本地计算机之间的屏幕分辨率不同
你应该在Launchpad上提出这样的问题,这是SikuliX的官方问答板。我是SikuliX的RaiMan开发人员。
您使用的是什么版本的Sikuli(X)?推荐1.1.4。
SikuliX通常没有设置屏幕分辨率的功能。这由系统环境给出。
如果图像探测器(捕获的图像)包含文本,则搜索取决于图像和当前屏幕中字体的相似程度。差异通常会导致FindFailed。
通常,图像探针的大小(以像素为单位)必须在当前屏幕上相同才能找到。
只想回答我自己的问题:
使用Sikuli的GUI(图像/像素)取决于以下因素:
这些不在范围内,不能在Sikuli内配置(并且还根据团队使用的技术堆栈进行预设),因此最好尽可能地对齐开发和测试执行机器。
下一个选项是使用SikuliX的OCR功能。