当前位置: 首页 > 知识库问答 >
问题:

为什么Sikulix代码不能在JMeter中工作

焦阎宝
2023-03-14

我有以下Sikuli代码在JMeter这是不工作。

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。剧本脚本异常:javax。剧本ScriptException:FindFailed:C:\scripts\patterns\vnc\vncviewer。png:(32x31)在R[0,0 1920x1080]@S(0)行2226中,在文件区域中。JAVA

比恩希尔取样器

Response code: 500

回复信息:org。阿帕奇。乔芬。util。JMeterException:调用bsh方法时出错:评估源文件:内联评估:``导入组织。西库利。剧本图案导入组织。西库利。剧本屏幕导入组织。是…'':方法调用屏幕。等待

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

共有1个答案

黎同
2023-03-14

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

再次检查vncviewer的内容。屏幕上显示png。也可能是您在具有不同屏幕分辨率的不同机器上拍摄了屏幕截图,因此查找失败。

您可以尝试以下方法:

>

调用Pattern.similar()函数以允许更多的灵活性,这样Sikuli将寻找“相似”的图像,而不是“精确”的图像

通过向JMeter命令行添加以下系统属性来启用Sikuli的调试日志记录:

jmeter -Dsikuli.Debug=0 -t /path/to/your/testplan.jmx
 类似资料:
  • 问题内容: 因此,我试图使用ctypes模块制作一个Python 3.3程序来更改Windows桌面背景。我已经在Python 2.7中测试了以下代码,并且运行良好。但这仅在Python 3.3中不起作用!我使用的是Windows7。代码如下: 问题答案: 需要一个8位ANSI编码的输入字符串作为参数,这在Python中被称为encoding 。 您将不得不在python3中使用。这是因为接受UT

  • 我是计算机视觉新手,还没有真正学习过阈值、模糊或其他过滤器的教程。我使用下面两段代码找出图像中的轮廓。一方面,这种方法是有效的,但另一方面,它不是。我需要帮助理解发生这种情况的原因,以便说服自己背景中发生了什么。 工作代码段: 不工作的代码段 如果有人能找出这里发生的错误的原因,我将不胜感激。 我所面对的错误是: 回溯(最近一次调用last):文件“convexhull.py”,第27行,在im2

  • 我有一些流处理代码,它接受一个单词流并对它们执行一些操作,然后将它们简化为一个,其中包含单词作为键,单词的出现次数作为值。为了代码的简洁性,我使用了jOOL库的类,其中包含许多有用的快捷方法。 类型中的方法不适用于参数 type未定义此处适用的 为什么的行为与有任何不同,我(也许是天真地)认为它是直接等效的,为什么编译器在使用它时不能处理它? (是的,我知道我可以通过将以前的应用程序移到操作中来删

  • 在主线程中初始化: 然后在奴隶身上,当它等待主人的时候,我会这样做: 奴隶必须在这里等待: 奴隶: 主人: 下面是我所看到的输出: -gt-

  • 在安装并启用了ESlint和Prettier的Nuxt应用程序中,我切换到了Visual Studio代码。 当我打开一个.vue文件并按cmd+shift+p并选择格式化文档时,我的文件根本不会被格式化。 My.Prettierrc设置: 我有这么多的源代码行,所以我不能手动格式化它们。我做错了什么?

  • 下面是一个链表的简单实现。我刚刚添加了相关代码。首先,我向列表中添加一些值,10,990和10000。当我搜索相同的值时,对于key=10,我得到true,但是对于key=990和key=10000得到false,尽管它应该是true。另外,如果我将第二个值从990更改为99,并搜索key=99,这一次我得到的是true。 我不确定是否使用泛型类型。我想我在那里做错了什么。因为如果我用int替换泛