首页 > 解决方案 > 如何在 jmeter 中使用 OS Sampler 进行远程脚本

问题描述

我在 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

所以有人可以建议

我添加了操作系统采样器

在此处输入图像描述

并收到此消息:

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 剪切它之后它不工作?我错过了什么

标签: linuxjmeterremote-access

解决方案


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

    假设以上所有您的 OS Process Sampler 配置应如下所示:

    用于 plink 的 JMeter OS Process Sampler


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

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

有关该方法的更多信息:Apache Groovy - 为什么以及如何使用它


推荐阅读