学 习了使用JMeterEngine简单的运行测试之后,不着急马上看内部的实现,先了解一下在启动JMeterEngine之前所做的一些初始化工作,这 个对于正确的代码启动JMeterEngine很有必要。下面是启动JMeterEngine之前的初始化流程简要描述:
1) Parse commandLine,将命令行参数、以及一些内置的帮助信息封存在CLArgsParser实例中 2) Check parser中的error,若有则退出。 3) 根据parser中解析的信息,JMeterUtils开始初始化properties 3.1 commandLine中有类似 -p user.properties参数,就加载;否则加载$Jmeter_home/bin/jmeter.properties 3.2 commandLine中有类似-j jmeter.log参数,作为一条属性设置给JMeterUtils 3.3 JMeterUtils.initLogging()/JMeterUtils.initLocale() 3.4 JMeterUtils.setJMeterHome(…) 3.5 若之前加载的properties文件中有system.properties/user.properties则加载之 3.6 最后在jmeterProps中加入version信息 4) 若有search_paths、user.classpath信息就添加至classpath(NewDriver) 5) 为JMeterUtil设置时间信息,START.MS/START.YMD/START.HMS 6) 加载jmx测试文件生产一个HashTree,若指定了report文件(-l xxx.jtl)则创建一个ResultCollector挂到tree中,用来将测试结果写入jtl报告 7) 最后:创建一个StandardJMeterEngine,运行,结束。
上面流程:
1、2 步可以忽略,因为我编码来跑测试的话根本就可不用参与,也无需解析。
步骤 3, 也是最重要的JMeterUtils类,该类有很多静态的属性,运行时所有必要的参数都会在这里维护起来。我们既然要将JMeter集成到项目,必要不能 对JMeter的安装包有所依赖,所以根据上面流程第3)步,我们必须要提供一个XXX.properties给JMeterUtils加载,可以参 考$Jmeter_home/bin/jmeter.properties或者$Jmeter_home/bin/user.properties,有必 要的话还可以设置log文件(这个可以作为一条属性加在XXX.properties里即可),这样代码可以照抄:
JMeterUtils.loadJMeterProperties(userProperties); JMeterUtils.initLogging(); JMeterUtils.initLocale(); /** *这个可以作为属性放在userProperties文件里 *JMeterUtils.setProperty(LoggingManager.LOG_FILE,jmlogfile); */
当然,不要忘记设置JMETER Home:JMeterUtils.setJMeterHome("")
这里设置""即可,否则如果在用SaveService进行xstream处理的时候,会报错,因为SaveService默认会去加载$Jmeter_home/bin /saveservice.properties文件,不做任何设置的话$Jmeter_home = null。设置了空不会报NPE,但是也不正确,我们还需要提供一个saveservice.properties文件,并将该文件路径由saveservice_properties参数指定:
JMeterUtils.setProperty("saveservice_properties", saveProperties);
步骤 4也可忽略,他主要是把JMeter安装目录相关的classpath加到NewDriver中,而我们不用该类
步骤 5 照抄:
long now=System.currentTimeMillis(); JMeterUtils.setProperty("START.MS",Long.toString(now));// $NON-NLS-1$ Date today=new Date(now); // so it agrees with above // TODO perhaps should share code with __time() function for this... JMeterUtils.setProperty("START.YMD",new SimpleDateFormat("yyyyMMdd").format(today));// $NON-NLS-1$ $NON-NLS-2$ JMeterUtils.setProperty("START.HMS",new SimpleDateFormat("HHmmss").format(today));// $NON-NLS-1$ $NON-NLS-2$
最后步骤 6,我完全可以将该步骤在手动构建HashTree的时候完成,详见前面博文的HashTreeTestMock的代码。因为步骤六,本质是根据指定的jtl文件实例化一个ResultCollector并挂到HashTree中来实现JTL报告的生成。我完全可以在自己构建HashTree时提前将ResultCollector根据自己需要的jtl路径创建并挂到HashTree中。
相关推荐
将 jpgc-graphs-basic-2.0.zip 解压缩后只有一个 lib 目录,该目录下有一个 ext 文件夹和一个 jmeter-plugins-cmn-jmeter-0.3.jar 包,ext 文件夹中有 jmeter-plugins-graphs-basic-2.0.jar 和 jmeter-plugins-...
Apache jmeter jmeter-plugins-cmn-jmeter-0.6.jar 下载
https://blog.csdn.net/qq355667166/article/details/78914453),经过测试同学选型最终确认了采用jmeter+插件化jmeter-plugins-for-apache-dubbo(https://github.com/thubbo/jmeter-plugins-for-apache-dubbo)的...
本文将深入探讨“jmeter-plugins-dubbo-2.7.1-jar-with-dependencies”这一系统压测工具包,它专门针对基于Java的Dubbo服务进行性能测试。了解并熟练掌握这一工具,能帮助我们更好地优化服务性能,提升系统的稳定性...
jmeter的dubbo插件,jmeter-plugins-dubbo-2.7.8-jar-with-dependencies.jar,适用于JMeter5.4.1版本,将解压后的文件jmeter-plugins-dubbo-2.7.8-jar-with-dependencies放在Jmeter安装目录下的\lib\ext文件夹中,...
apache-jmeter-5.6.3.zip apache-jmeter-5.6.3.tgz apache-jmeter-5.6.3_src.zip apache-jmeter-5.6.3_src.tgz
本文将深入探讨"jmeter-plugins-dubbo-2.7.1-jar-with-dependencies (1)"这个压缩包中的关键知识点。 1. **JMeter Plugins for Dubbo** JMeter Plugins for Dubbo 是一个扩展了JMeter功能的插件,专门用于测试基于...
jmeter-plugins-dubbo-2.7.1-jar-with-dependencies 2.jar jmeter本身并不支持dubbo接口的测试,需要下载第三方插件,然后将jar包放入${JMETER_HOME}\lib\ext路径下,重启即可。
jmeter-plugins-dubbo with-dependencies jmeter-plugins-dubbo-2.7.7-jar-with-dependencies.jar
4个jmeter测试报告模板集合 jmeter.results.shanhe.me.xsl jmeter.results.zyanycall.me.xsl jmeter-results-detail-report_30.xsl jmeter-results-report_21.xsl
《JMeter管理插件——jmeter-plugins-manager-1.7.jar深度解析》 Apache JMeter是一款功能强大的性能测试工具,广泛应用于Web应用、FTP服务器、数据库等服务的压力测试。为了扩展JMeter的功能,社区开发了各种插件...
jmeter-plugins-graphs-basic-2.0.jar是jmeter性能测试图形化显示插件
【JMeter】JMeter插件管理插件:jmeter-plugins-manager-1.3.jar Apache JMeter是一款开源的性能测试工具,广泛应用于Web应用、FTP服务器、数据库等服务的负载和压力测试。JMeter的强大之处在于其丰富的插件生态...
Apache JMeter (apache-jmeter-5.5.zip)可用于测试静态和动态资源、Web 动态应用程序的性能。 它可用于模拟服务器、服务器组、网络或对象上的重负载,以测试其强度或分析不同负载类型下的整体性能。 Apache JMeter...
拷贝jmeter-parallel-0.9.jar到Jmeter/lib/ext上。 启动Jmeter。 根据需要添加Parallel Controller: 1)在Jmeter的线程组下面的逻辑控制器,选择bzm并行控制器; 2)把浏览器或者wireShark观察到的同一批次的并发...
其中,`jmeter-plugins-manager-1.4.jar`是JMeter的插件管理器,它为用户提供了方便的方式来安装、更新和管理JMeter的各种插件。本文将详细介绍这个插件及其功能。 一、JMeter Plugins Manager的安装与使用 1. **...
标题 "jmeter-results-detail-report_30.rar" 暗示了这可能是一个使用Apache JMeter工具进行性能测试后的结果报告。JMeter是一款开源、Java编写的负载和性能测试工具,广泛应用于Web应用的压力测试。这个压缩包很...
本文将深入探讨"jmeter-plugins-extras-libs-1.1.3"和"jmeter-plugins-standard-1.1.3"这两个版本的插件,解析它们的核心价值和应用场景。 首先,我们关注"jmeter-plugins-extras-libs-1.1.3"。这个名字中的"extras...
本文将详细介绍"jmeter-plugins-manager-1.3.jar.zip"的安装过程以及其功能和使用方法。 首先,我们来看"jmeter-plugins-manager-1.3.jar.zip"这个压缩包。它包含了JMeter Plugins Manager的1.3版本,这是一个帮助...
"apache-jmeter-5.6.2.zip"是JMeter的5.6.2版本的压缩包文件,包含了运行和配置JMeter所需的所有组件。 JMeter的特性与功能: 1. **跨平台性**:由于JMeter是用Java编写的,因此它可以运行在任何支持Java的平台上...