0

我在 JMeter 中有以下 Sikuli 代码,但它不起作用。

import org.sikuli.script.Pattern;
import org.sikuli.script.Screen;
import org.sikuli.script.FindFailed;
import org.sikuli.script.KeyModifier;
import org.sikuli.script.Match;


Screen screen = new Screen();
Pattern VNCviewer = new Pattern ("C:\\scripts\\patterns\\vnc\\vncviewer.png");
screen.wait(VNCviewer,3);

我在 Beanshell 采样器和 JSR223 采样器中都进行了尝试,但在这两种情况下都无法正常工作。这是我得到的错误。

JSR223采样器

Response code: 500

响应消息:javax.script.ScriptException: javax.script.ScriptException: FindFailed: C:\scripts\patterns\vnc\vncviewer.png: (32x31) in R[0,0 1920x1080]@S(0) Line 2226, in文件 Region.java

豆壳采样器

Response code: 500

响应消息:org.apache.jorphan.util.JMeterException:调用 bsh 方法时出错:eval 源文件:内联评估:``import org.sikuli.script.Pattern; 导入 org.sikuli.script.Screen;导入 org.si 。. . '' : 方法调用 screen.wait

此代码在另一台笔记本电脑和 JMeter 版本相同(5.0)中运行良好。我也尝试了不同的java版本。仅文件路径正确且 png 文件存在。

4

1 回答 1

0

该错误意味着 Sikuli 无法vncviewer.png在屏幕上找到与您的图像匹配的元素。

仔细检查vncviewer.png屏幕上是否存在内容。也可能是您在具有不同屏幕分辨率的不同机器上截取屏幕截图,因此查找失败。

您可以尝试以下方法:

  1. 在您正在运行 JMeter 的机器上重新捕获屏幕截图,并用vncviewer.png特定该机器的“新鲜”图像替换

  2. 调用Pattern.similar()函数以提供更大的灵活性,因此 Sikuli 将寻找“相似”图像,而不是“精确”图像

  3. 通过将以下系统属性添加到 JMeter 命令行,为 Sikuli 启用调试日志记录:

    jmeter -Dsikuli.Debug=0 -t /path/to/your/testplan.jmx
    
于 2022-01-08T15:09:50.187 回答