如何在jmeter中将OS Sampler用于远程脚本

时间:2018-07-12 20:27:47

标签: linux jmeter remote-access

我要知道是否可以解决jmeter中的问题。 我需要在远程计算机上运行脚本。 当我通过命令行在计算机上运行脚本时,该脚本正在运行。

plink -ssh jenkins@178.27.288.288 -pw passtest  sudo /opt/test/test.sh

我想从计算机上在Jmeter中运行它(与运行脚本相同)。 我尝试了不起作用的ssh采样器 我想使用OS采样器,可以吗?我可以在远程计算机上运行脚本吗? 我发现的唯一解释是从blazemeter网站,并提到: “再次,因为通过OS Process Sampler运行“ plink”程序非常容易,”

远程机器:jenkins@178.27.288.288,
远程计算机的密码:passtest,
命令:sudo /opt/test/test.sh

所以有人可以建议

我添加了操作系统采样器

enter image description here

并获得此消息:

Exception occurred whilst executing system call: java.io.IOException: Cannot run program "sudo /opt/test/test.sh" (in directory "plink -ssh jenkins@178.27.288.288 -pw passtest "): CreateProcess error=267, The directory name is invalid

有人可以建议如何在远程计算机上运行该命令吗? 再次,如果我把整行都输入命令行,那么它是有效的,但是当我为Jmeter剪切它之后,它不起作用了?我想念什么

1 个答案:

答案 0 :(得分:1)

  1. 命令参数需要放在“命令参数”部分,而不是“工作目录”中
  2. 我建议您通过cmd.exe解释器运行脚本,因此实际命令将是cmd,而不是Linux命令
  3. 提供-hostkey参数更安全,就像远程Linux机器不在known_hosts中一样,脚本会被卡住

    假设以上所有内容均应如下所示:

    JMeter OS Process Sampler for plink


使用JSR223 Sampler可能会更容易,您可以在其中调用程序并获得如下输出的便捷:

"c:\somefolder\plink.exe -pw passtest sudo /opt/test/test.sh".execute().text

有关此方法的更多信息:Apache Groovy - Why and How You Should Use It