java - 如何将jmeter属性路径指向maven下载的jmeter jar路径?
问题描述
我对 Jmeter 很陌生,并尝试通过以下方式使用 JAVA 编写和运行 jmeter:
https://www.blazemeter.com/blog/5-ways-launch-jmeter-test-without-using-jmeter-gui/ https://bitbucket.org/blazemeter/jmeter-from-code/src/master/ src/main/java/com/blazemeter/demo/JMeterFromScratch.java
if (jmeterHome.exists()) {
File jmeterProperties = new File(jmeterHome.getPath() + slash + "bin" + slash + "jmeter.properties");
if (jmeterProperties.exists()) {
//JMeter Engine
StandardJMeterEngine jmeter = new StandardJMeterEngine();
//JMeter initialization (properties, log levels, locale, etc)
JMeterUtils.setJMeterHome(jmeterHome.getPath());
JMeterUtils.loadJMeterProperties(jmeterProperties.getPath());
我不能这样用吗
StandardJMeterEngine jmeter = new StandardJMeterEngine();
JMeterUtils.getJMeterHome();
JMeterUtils.getJMeterProperties();
使用上述代码时出现错误
错误 org.apache.jmeter.save.SaveService - 无法计算 saveservice 属性文件的校验和 线程“main”中的异常 org.apache.jorphan.util.JMeterError:JMeter 需要 saveservice 属性文件的校验和才能继续
我们不能指向通过 Maven 下载的 jmeter jar 而不是指向 jmeter 属性路径吗?谁能帮我吗 ?
解决方案
您收到的错误表明 JMeter 无法读取saveservice.properties文件。
该文件不是任何 JMeter .jar 库的一部分,您需要将它放在您通过JMeterUtils.setJMeterHome()函数指定的文件夹的“bin”子文件夹中。
如果您在设置之前调用JMeterUtils.getJMeterHome()null
函数-您将获得并且如果您在其他地方引用该值-您将获得NPE
假设以上所有:
- 确保在运行测试之前通过上述功能设置 JMeter 主页
- 确保
saveservice.properties
在该文件夹中有
使用Taurus工具执行无人值守的编程 JMeter 测试可能更容易,Taurus 提供了执行现有 JMeter 测试并使用简单的YAML语法创建新测试的可能性。有关该概念的更多信息, 请参阅使用 Taurus 导航您的第一步文章
推荐阅读
- python - Flask 自动重新加载功能不适用于 Pycharm 远程部署
- python - 运行 Windows 调度程序脚本时的反斜杠问题(通过批处理文件)
- vba - 新电子邮件的事件侦听器以下载附件
- python - 从 python 中 pywin32 的方法 dispatch(Excel.Application) 获取“com_error: (-2147221005, 'Invalid class string', None, None)”
- python - Python - Pandas - .str.contains 过滤多个列
- kubernetes - 如何在 Helm 中使用 if/else 循环
- java - 谁能帮我解决这个错误?它在 Android Studio 上显示“IDE 内部错误”
- reactjs - 如何解决反应中的以下错误 - 'Firebase: No Firebase App '[DEFAULT]' has been created'?
- asp.net - 负载均衡器背后的 Asp.net GenericJsonWebHook
- c - 如何在 Linux 或 Windows 中执行 C 程序打印文件的简单命令