JMeter 实现Java请求步骤及原理详解
时间:2021-01-01 13:18:26|栏目:JAVA代码|点击: 次
1.jar包
添加jar包依赖,注意和Jmeter的版本相同:
ApacheJMeter_core.jar,ApacheJMeter_java.jar
2.写Java请求
先继承 AbstractJavaSamplerClient,或者实现 JavaSamplerClient,
各方法和参数:
- getDefaultParameters(),用来自定义参数的。
- runTest(),请求主体。
- Arguments类: 参数管理;
- addAuguments() 用来添加参数。
- JavaSamplerContext类: javaSampler的容器类,用来接收、处理用户传入的参数。
- getParameter("参数名称") 用来获取指定的参数的值。
- SampleResult类,请求类。
代码实现
public class HelloThree extends AbstractJavaSamplerClient {
String uname="";
//定义GUI界面的参数。
@Override
public Arguments getDefaultParameters() {
Arguments params = new Arguments();
params.addArgument("username", "Jerry");
return params;
}
@Override
public void setupTest(JavaSamplerContext context) {
//获取参数
uname = context.getParameter("username");
}
//主体执行部分。
@Override
public SampleResult runTest(JavaSamplerContext javaSamplerContext) {
//new一个SampleResult对象,用来实现计时、结果回写等操作。
SampleResult sr=new SampleResult();
//初始化业务功能类。业务功能类就是真正用来实现请求发送的类。
Request request=new Request();
//业务操作
try {
//请求开始计时
sr.sampleStart();
//调用业务方法。
String result=request.say(uname);
//设置显示的请求数据,非必须。
sr.setSamplerData("this is uname="+uname);
//设置显示的响应数据,必须。
sr.setResponseData(result,sr.TEXT);
//设置请求的结束状态。
sr.setSuccessful(true);
} catch (Exception e) {
sr.setResponseData("fail msg:"+e.getMessage(),sr.TEXT);
sr.setSuccessful(false);
} finally {
//请求结束计时。
sr.sampleEnd();
}
return sr;
}
}
写好之后打成jar包;
3.jar包的存放
- ?扩展的组件本身的jar包,放入Jmeter的lib\ext目录。
- ?业务jar包及其所有的依赖包,放入Jmeter的lib目录。
然后重启jmeter,添加Java请求,就可以看到新增的Java请求了。
lib目录的冲突、管理:
业务本身需要用到的一些jar包,可能Jmeter的lib目录原始就存在。因此会存在以下问题:
- ?jar包版本的冲突问题。
- ?jar包数量太多,无法有效区分。
解决方法:在Jmeter.properties中设置plugin_dependency_path


阅读排行
- 1Java Swing组件BoxLayout布局用法示例
- 2java中-jar 与nohup的对比
- 3Java邮件发送程序(可以同时发给多个地址、可以带附件)
- 4Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type异常
- 5Java中自定义异常详解及实例代码
- 6深入理解Java中的克隆
- 7java读取excel文件的两种方法
- 8解析SpringSecurity+JWT认证流程实现
- 9spring boot里增加表单验证hibernate-validator并在freemarker模板里显示错误信息(推荐)
- 10深入解析java虚拟机




