首页 > 解决方案 > 如何将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 属性路径吗?谁能帮我吗 ?

标签: javamavenjmeterjmeter-plugins

解决方案


您收到的错误表明 JMeter 无法读取saveservice.properties文件。

该文件不是任何 JMeter .jar 库的一部分,您需要将它放在您通过JMeterUtils.setJMeterHome()函数指定的文件夹的“bin”子文件夹中。

如果您在设置之前调用JMeterUtils.getJMeterHome()null函数-您将获得并且如果您在其他地方引用该值-您将获得NPE

假设以上所有:

  1. 确保在运行测试之前通过上述功能设置 JMeter 主页
  2. 确保saveservice.properties在该文件夹中有

使用Taurus工具执行无人值守的编程 JMeter 测试可能更容易,Taurus 提供了执行现有 JMeter 测试并使用简单的YAML语法创建新测试的可能性。有关该概念的更多信息, 请参阅使用 Taurus 导航您的第一步文章


推荐阅读