首页 > 解决方案 > 为什么从 JMeter OS Sampler 启动的 BAT 文件没有触发 Maven 执行?

问题描述

摘要:-我的性能测试需要大量动态数据,并且无法从 Jmeter 本身生成这些测试数据。因此,我编写了一个 Java 代码,它将生成这些动态测试数据并将这些数据放入 excel 文件中。JMeter 脚本可以使用这个 excel 文件进行性能测试。JMeter 中的每次迭代都需要一组新的测试数据,这就是为什么我创建了一个 bat 文件,它将触发 Maven 执行(它只是 mvn clean test),并将在每次迭代之前生成一组新的测试数据。到目前为止一切正常。我只需要从 JMeter 运行 bat 文件即可在每次迭代之前触发测试数据创建,这就是我面临的问题

问题:-如链接如何从 Jmeter 运行批处理文件(.bat)中所述以及用户 @Dmitry T 的建议,我已经添加了具有给定参数的操作系统采样器(请参见下面的屏幕截图),但它没有启动Maven 执行。它正在命中 bat 文件(我放了一些 msg 命令来检查)但不知何故它没有开始执行。我尝试了同一用户给出的关于使用 Beanshell 采样器并运行命令的其他解决方案

 Runtime.getRuntime().exec("C:/Windows/System32/cmd.exe /c D:/XXXX/XXX/XXXX/GenerateTestData.bat"); 

这也行不通。我在这里错过了什么吗?请让我知道是否有任何解决方案?感谢任何帮助?

在此处输入图像描述

标签: javamavenbatch-filejmeter

解决方案


  1. Command输入中提供完整路径cmd.exe
  2. 更改Working directory为您的批处理文件所在的位置
  3. Command Parameters

就像是:

在此处输入图像描述

有关更多详细信息,请参阅如何从 JMeter文章本地和远程运行外部命令和程序。

或者,您可以在运行 JMeter 测试之前使用Maven Exec Plugin运行您的自定义命令


推荐阅读