代码之家  ›  专栏  ›  技术社区  ›  Bastian

如何在jmeter中使用OS采样器进行远程脚本

  •  0
  • Bastian  · 技术社区  · 7 年前

    我在JMeter中面临一个问题,我想知道我是否能解决。 我需要在远程计算机上运行一个脚本。 当我通过计算机中的命令行运行脚本时,它正在工作。

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

    我想从我的计算机在jmeter中运行它(与脚本运行相同)。 我尝试了不起作用的ssh采样器 我想用操作系统采样器,可以吗?我可以在远程计算机上运行脚本吗? 我找到的唯一解释来自于Blazemeter网站,并提到: “同样,由于通过操作系统进程采样器运行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 回复  |  直到 7 年前
        1
  •  1
  •   Dmitri T    7 年前
    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