一、JMeter中Java请求是什么?
Java请求属于JMeter里的取样器,简单使用跟Beanshell差不多,都能够实现运行一定的Java代码逻辑,但Java请求功能更强大。
为什么要用Java请求
这得看自己的需求,如一些压测场景,需要对mq等中间件进行压测、或非正常HTTP请求、或者rpc接口(Dubbo)等,就可以使用Java编写代码之后,再放进JMeter的Java请求中进行请求压测。
二、脚本准备
开发自定义函数需要JMeter的依赖包及JMeter开发规范,同样的,我们开发Java请求时,也需要遵循一定的规则。
Jmeter支持Java请求的Sampler,底层服务接口用Java请求进行压力测试;
Jmeter提供了一个类(AbstractJavaSamplerClient)和一个接口(JavaSamplerClient),Java请求继承AbstractJavaSamplerClient类或者实现JavaSamplerClient接口,就能做到压测底层接口;注:Jmeter中的AbstractJavaSamplerClient类其实也是实现的JavaSamplerClient接口;
开始准备压测脚本,需要编码;
2.1 新建maven工程
添加依赖,Jmeter依赖(本文为5.3版本,和界面的Jmeter版本一致)
<dependency>
<groupId>org.apache.jmeter</groupId>
<artifactId>ApacheJMeter_java</artifactId>
<version>5.3</version>
</dependency>
2.2 实现代码
public class RealtimeAvailableTimeTest implements JavaSamplerClient {
@Override
public void setupTest(JavaSamplerContext javaSamplerContext) {
}
@Override
public SampleResult runTest(JavaSamplerContext javaSamplerCont