【问题标题】:How to use OS Sampler in jmeter for remote script如何在 jmeter 中使用 OS Sampler 进行远程脚本
【发布时间】:2018-07-12 20:27:46
【问题描述】:

我在 jmeter 中遇到了一个问题,我想知道我是否可以解决。 我需要在远程计算机上运行一个脚本。 当我在我的计算机中通过命令行运行脚本时,它正在工作。

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

我想在我的计算机上在 Jmeter 中运行它(与脚本运行相同)。 我尝试了不起作用的 ssh 采样器 我想使用操作系统采样器,可以吗?我可以在远程计算机上运行脚本吗? 我发现的唯一解释来自 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 剪切它之后它不工作?我错过了什么

【问题讨论】:

    标签: linux jmeter remote-access


    【解决方案1】:
    1. 命令参数需要放在“命令参数”部分,而不是“工作目录”中
    2. 我建议通过 cmd.exe 解释器运行您的脚本,因此实际命令将是 cmd,而不是 Linux 命令
    3. 提供-hostkey参数更安全,因为如果远程Linux机器不在known_hosts你的脚本会卡住

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


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

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

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

    【讨论】:

    • Hey Dimitry 我尝试了操作系统进程,但它无法正常工作。我想使用jsr223。如果我理解你写的是使用 JSR223 并将 c:\place of plink\plink.exe -pw 密码写入服务器“脚本”.execute().text。我还应该提到远程服务器,因为它不在我的计算机中
    • 非常感谢 Dimitry 我现在尝试操作系统进程采样器,并在命令变量的顶部添加 /c 并且它可以工作
    猜你喜欢
    • 2018-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-24
    • 2017-12-24
    • 1970-01-01
    • 2023-03-29
    • 2013-09-03
    相关资源
    最近更新 更多