运行 通过 Jmeter 使用参数化命令多次执行可执行文件

Running Multiple execution of Executable with parameterized command via Jemeter

大家好,我需要一些帮助来解决这个问题。

问题:需要能够 运行 控制要处理的应用程序但不等待该应用程序完成,根据要 运行 的线程数以及时间等待执行其他应用程序

例如:

应用说明: someApp.exe - 此应用调用参数 - 示例 someApp.exe -I someinputfile -d typeofserveice -r -i -w 这将连接到服务并post连接到服务并在超时前等待设定的等待时间内的响应。

我想做的事情:

1 个请求 5 个请求 - 同时 - 希望能够控制这个,比如每 15 秒生成一次该请求,直到达到 5 个并发请求 8、16 等等

我不想等到一个请求完成后再尝试下一个请求……

我从 OS Process Sampler

开始

这里的问题有两个:

  1. 我无法在批处理文件中更改请求 ID
  2. 正在等待一个请求完成

我试过的

具有相同命令的多个线程组......每个不同的批处理文件......

是否可以使用 Beanshell 或代替 运行 Batch 我可以通过 OS PROCESS SAMPLE 传递批处理文件中的相同命令,我可以控制变量名称,例如 requestID等等……

cd C:\PFG_CLIENT_APP\SOMECLIENTAPPNAME\Debug ClientApp.exe -d appigee -r 61129361 -i test_svc_input.json -w 700

-r

我看不出这些问题是如何与 JMeter 联系起来的,都是关于 Windows、命令提示符和批处理文件的。

  1. I can’t change the Request ID in the batch file - 您不需要,只需在批处理文件中将此 61129361 替换为 %1 即可将其作为一个参数

  2. It is waiting for one Request to finish 您可以修改您的命令以包含 START /W,在这种情况下,它将在新的 window 中启动您的批处理文件并等待其终止.要抑制在 JMeter 端的等待,您可以将超时设置为较低的值,例如 1 秒(或 script/program 启动所需的任何时间)

    超时将导致采样器失败,如果您希望它通过 - 添加一个 Response Assertion 作为此请求的子项并像这样配置它:

更多信息:How to Run External Commands and Programs Locally and Remotely from JMeter