01 概述
为什么需要做二次开发?JMeter作为一款开源的性能、接口测试工具,有时候无法满足我们工作的需要,一般体现在:协议不支持、没有相应数据处理功能等。
一般这种情况下,我们可以做的选择有:
第一种找插件
第二种自定义实现
JMeter二次开发一般又分为三类情况:
自定义组件、依托于JMeter的core的jar实现。一般来说,代码量较大
依托于java请求实现自定义协议的扩展。推荐方式
自定义函数来实现特定的一些数据处理的功能。(和服务器没有交互),比如加密、签名的生成、编码处理,解密等等。
02 基于java请求的二次开发
首先,我们依赖的jar包分为两种:
JMeter框架层面的:实现的是性能层面的统计相关工作。需要的jar包有ApacheJMeter_core.jar,是JMeter的核心jar包 ,所有基于JMeter的二次开发基本上都需要用到该jar包。
基于jave请求所以还需要ApacheJMeter_java.jar
扩展的协议本身所需要的:取决于协议本身
接下来打开eclipes,导入需要的jar包,自定义的java请求要继承Jmeter所提供的.AbstractJavaSamplerClient类。可以看到这里需要重写的方法是runTest方法。
我们先写一个简单的例子,认识一下常见的方法: