java - 为什么从 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");
这也行不通。我在这里错过了什么吗?请让我知道是否有任何解决方案?感谢任何帮助?
解决方案
- 在
Command
输入中提供完整路径cmd.exe
- 更改
Working directory
为您的批处理文件所在的位置 - 在
Command Parameters
就像是:
有关更多详细信息,请参阅如何从 JMeter文章本地和远程运行外部命令和程序。
或者,您可以在运行 JMeter 测试之前使用Maven Exec Plugin运行您的自定义命令
推荐阅读
- java - 带表名的 PreparedStatement
- r-markdown - 如何在 xaringan 自包含幻灯片中嵌入 html 图像
- javascript - 开玩笑未通过异步测试
- google-chrome-app - Chrome Web App 扩展,在创建窗口时最小化到任务栏
- python - cv2.findContours 在黑色背景上找不到白色矩形
- node.js - 将 React 与 Electron 一起使用,以便仍然可以使用 Node.js 原生模块
- python - 指定方法的参数类型和返回类型有什么好处?
- amazon-web-services - 在 API Gateway 和 Lambda 函数中重复输入验证?
- html - css - 剪辑图像并添加边框以适合 div
- visual-studio-code - Xdebug 3.0 WSL2 和 VSCode - 有效的配置