一段时间后停止线程组 - jmeter

问题描述 投票:0回答:1

我有一个线程组,其中包含操作系统进程采样器。该采样器运行一个bat 文件,该文件又运行另一个bat 文件。第二个bat文件将启动一个java spring boot应用程序。现在,我的线程组永远不会停止,直到我关闭为运行 java 应用程序而打开的 cmd。我想在一段时间后停止这个 TG,以便我可以启动另一个 TG。尝试了以下事情。

  1. 在 TG 级别配置“持续时间(秒)”。
  2. 在操作系统进程采样器上配置“超时(毫秒)”。
  3. 将 OS Process Sampler 作为运行时控制器的子级。

以上方法均无效。 作为参考,请查找示例 batFile1、batFile2 和 batFile3

batFile1.bat

start cmd /k call batFile2.bat

batFile2.bat

java -jar -Dserver.port=8081 -DfileName=<path to jar>

Jmeter 版本 - 5.4

java batch-file jmeter
1个回答
0
投票
  1. 您的测试将一直运行,直到您的 Spring Boot 应用程序运行为止。
  2. /k
    开关表示只有当您手动关闭“cmd.exe”窗口时,OS Process Sampler才会退出。

取决于您想要实现的目标:

  1. 如果您的 Spring Boot 应用程序在完成某些工作后自行退出 - 只需将
    /k
    更改为
    /c
    ,这样 OS Process Sampler 将在 Spring Boot 应用程序完成其工作后立即结束。有关这些键含义的更多信息,请参阅 cmd.exe 语法
  2. 如果您的 Spring Boot 应用程序没有停止,您可以使用
  3. taskkill 命令从另一个线程组杀死它
  4. 无论如何,建议在可能的情况下始终使用最新版本的 JMeter
  5. ,因此请考虑迁移到 JMeter 5.6.3JMeter 下载页面上提供的最新稳定版本。
© www.soinside.com 2019 - 2024. All rights reserved.