如何从CMD使Jmeter运行命令-OS采样器-JMETER

时间:2018-07-12 21:20:57

标签: linux jmeter

我正在为使用jmeter来向远程桌面运行cmd命令而挣扎。 我使用操作系统采样器。 我有一个命令,如果我从计算机的命令行运行该命令,它将起作用,但是当我尝试使jmeter运行时,它会失败-我使用的是同一台计算机。 命令是:

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

我添加了一个OS采样器,如下所示: enter image description here

工作目录是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需要哪个文件,我只是希望他运行命令,连接到远程计算机并运行该命令,该命令在命令行中运行正常,并在远程计算机中运行脚本。

我在网上找到了这个博客: https://www.blazemeter.com/blog/how-run-external-commands-and-programs-locally-and-remotely-jmeter

表示可以做到,但是由于很容易,所以它们不会逐步显示。

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

我如何才能使jmeter打开命令行,然后直接输入命令并按Enter,然后显示结果?

1 个答案:

答案 0 :(得分:1)

在命令中,您需要提供要执行的程序的名称。在命令提示符的情况下,它是cmd.exe,对于外壳程序,我认为它是powershell.exe。 其余部分需要作为命令参数传递。

在下面检查命令参数:-

  

OS Process Sampler是可用于执行的采样器   本地计算机上的命令。它应该允许执行任何   可以从命令行运行的命令。验证   可以启用返回码,而预期的返回码可以是   指定。请注意,操作系统外壳程序通常提供命令行解析。   操作系统之间会有所不同,但通常外壳会分裂   空格上的参数。某些shell会扩展通配符文件名。   有些没有。操作系统之间的报价机制也有所不同。的   采样器故意不执行任何解析或报价处理。的   命令及其参数必须以预期的形式提供   可执行文件。这意味着采样器设置将不会   在操作系统之间可移植。

     

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

     

例如, Windows命令行:DIR C:\ TEMP   指定如下:

     

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

如果命令是远程命令,则尝试使用共享的博客中显示的带有SSH采样器的“远程命令:Linux / MacOSX”。

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

enter image description here enter image description here