Jmeter中自定义JavaSamplerClient类的编写
Posted Elyzia
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jmeter中自定义JavaSamplerClient类的编写相关的知识,希望对你有一定的参考价值。
自定义的JavaSamplerClient类需要满足以下几个条件:
1、需要把Jmter的ext目录下的ApacheJmeter_core.jar和ApacheJmetere_java.jar 引入到项目中
2、自定义的JavaSamplerClient继承 org.apache.jmeter.protocol.java.sampler.AbstractJavaSamplerClient类
3、实现AbstractJavaSamplerClient类的
/**可选实现的方法**/
public void setupTest(JavaSamplerContext context)
public void teardownTest(JavaSamplerContext context)
publicSampleResult runTest(JavaSamplerContext context)
其中 getDefaultParameters方法、setupTest、teardownTest方法在这个类的实例中只运行一次,runTest方法是每调用一次这个类的实例就执行一次这个方法,所以
在runTest方法中需要重新获取传入的参数,项目中遇到的一个问题就是自定义的JavaSamplerClient类里的参数只能在第一次才能传入参数正确,后来传入的参数都不能被正确地使用,经过排查原因就在于只在setupTest中获取了参数,在runTest方法中没有再次获取参数,这样就导致runTest中使用的仍是初始值,而不是新传入的参数。
(2)自定义的JavaSamplerClient类实例,被循环调用3次的日志输出如下,从日志可以看出,setupTest在线程开始创建自定义类的实例被调用时,循环的过程中只调用runTest方法,线程中该实例被销毁时才调用teardownTest方法
4、代码写好以后,需要打成jar包放到jmeter的lib目录下,如果编写的自定义类用到了三方的jar包,那么在maven项目的pom.xml文件中,引入maven-jar-plugin插件,这样生成的jar的manifest文件就包含引用三方的jar包路径,同时手动把引用的三方jar包放入到jmeter的相应目录下,就能正确地引用三方jar包了。
5、在jmeter脚本中正确地找到该方法,输入参数,就可以使用了。
以上是关于Jmeter中自定义JavaSamplerClient类的编写的主要内容,如果未能解决你的问题,请参考以下文章
ListView 中自定义 ArrayAdapter 的自定义过滤