Linux 如何使Jmeter从CMD-OS sampler-Jmeter运行命令

Linux 如何使Jmeter从CMD-OS sampler-Jmeter运行命令,linux,jmeter,Linux,Jmeter,我正在努力使用jmeter运行cmd命令到远程桌面。 我使用操作系统采样器。 我有一个命令,如果我从我的计算机的命令行运行它,它会工作,但是当我试图让jmeter运行它时,它失败了——我使用的是同一台计算机。 命令是: plink -ssh jenkins@178.27.288.288 -pw passtest sudo /opt/test/test.sh 我添加了一个OS采样器,如下所示: 工作目录是cmd.exe目录。 该命令是我希望jmeter运行的完整命令,与在cmd direct

我正在努力使用jmeter运行cmd命令到远程桌面。 我使用操作系统采样器。 我有一个命令,如果我从我的计算机的命令行运行它,它会工作,但是当我试图让jmeter运行它时,它失败了——我使用的是同一台计算机。 命令是:

plink -ssh jenkins@178.27.288.288 -pw passtest  sudo /opt/test/test.sh
我添加了一个OS采样器,如下所示:

工作目录是cmd.exe目录。 该命令是我希望jmeter运行的完整命令,与在cmd direct上完美运行的命令相同

我得到这个错误:

Response message: Exception occurred whilst executing system call: java.io.IOException: Cannot run program "plink -ssh jenkins@178.27.288.288 -pw passtest  sudo /opt/test/test.sh" (in directory "c:\windows\system32"): CreateProcess error=2, The system cannot find the file specified
我不知道jmeter想要哪个文件,我只想让他运行这个命令,连接到远程计算机并运行这个命令,这个命令在命令行中运行良好,在远程计算机上运行脚本

我在网上找到了这个博客:

也就是说,这是可以做到的,但因为很容易,他们没有显示一步一步的指示

当我将命令更改为dir时,它运行正常,结果就像我在命令行中写入dir一样


如何让jmeter打开命令行,只需输入命令并按enter键,然后显示结果?

在命令中,您需要给出要执行的程序的名称。对于命令提示符,它是cmd.exe,对于shell,我认为它是powershell.exe Rest需要作为命令参数传递

检查以下命令参数:-

OS进程采样器是一个可用于执行的采样器 本地计算机上的命令。它应该允许执行任何 可以从命令行运行的命令。验证 可以启用返回代码,并且可以启用预期的返回代码 明确规定。请注意,操作系统外壳通常提供命令行解析。 这在操作系统之间有所不同,但通常外壳会被拆分 空白处的参数。有些shell扩展通配符文件名; 有些没有。报价机制也因操作系统而异。这个 sampler故意不进行任何解析或引用处理。这个 命令及其参数必须以 可执行文件。这意味着采样器设置将不可用 可在操作系统之间移植

许多操作系统都有一些内置命令,这些命令不是作为命令提供的 单独的可执行文件。例如,Windows DIR命令是 命令解释器(CMD.EXE)。这些内置程序不能作为 独立程序,但必须作为参数提供给 适当的命令解释器

例如,Windows命令行:DIR C:\TEMP需要 具体规定如下:

命令:CMD Param 1:/C Param 2:DIR Param 3:C:\TEMP

如果这些命令是远程命令,那么请使用您共享的博客中显示的SSH sampler尝试“远程命令:Linux/MacOSX”

下面是简单执行dir命令的屏幕截图:-

--更新-- 附加屏幕截图

要执行windows命令,请使用以下设置