Jmeter入门10 - Java Request
当有些请求逻辑比较复杂的时候,Jmeter 中自带的sample估计就比较难实现了,或者性能就会比较低了,这个时候就可以自己写java代码实现自己的请求。
比如Socket请求,Http请求,RocketMQ请求等,只要java能实现的都可以放到jmeter里面执行。
Table of Contents
0x00 准备:
首先创建自己的java项目,导入Jmeter相关的包,导入请求相关的包,比如http的httpclient。
// Jmeter 相关的类
import org.apache.jmeter.config.Arguments; // 请求参数
import org.apache.jmeter.protocol.java.sampler.AbstractJavaSamplerClient; // 请求基类
import org.apache.jmeter.protocol.java.sampler.JavaSamplerContext; // 请求上下文,可以理解为Jmeter传过来的内容
import org.apache.jmeter.samplers.SampleResult; // 请求结果
0x01 创建Java请求类
1. 请求类继承 AbstractJavaSamplerClient
2. 为请求创建需要的参数,实现public Arguments getDefaultParameters() 方法
3. 编写请求初始化方法,只执行一次,实现public void setupTest(JavaSamplerContext context) 方法
4. 编写请求循环执行方法,执行多次,实现public SampleResult runTest(JavaSamplerContext context) 方法
5. 编写请求结束方法,实现public void teardownTest(JavaSamplerContext context) 方法
0x02 样例代码:
一个http请求的demo。
package com.max.javarequest;
import com.max.javarequest.core.HttpClientUtil;
import org.apache.jmeter.c