目录
1 前言
JMeter 是一个开源性能测试工具,可以帮助开发者对 Web 应用程序进行压力测试。在 JMeter 中,自定义函数是一种非常重要的功能,它可以帮助开发者实现更灵活和复杂的测试。
本文介绍如何开发 Jmeter 自定义函数实现快速生成京东宙斯下单标准 sign,同时深刻理解 Jmeter 的插件化机制及高扩展性特性。
2 开发准备
- Java 基础开发
- Maven 基本使用
- 开发依赖版本
JDK 1.8.0Maven 3.6.3Jmeter 5.4.3
3 自定义函数核心实现
3.1 新建项目
- 新建 maven 项目,这里项目名为:JSF_Sampler
- 因为是基于 Jmeter 的扩展,需要依赖包 Jmeter 两个核心包,分别是:
- ApacheJMeter_core
- ApacheJMeter_java
- ApacehJMeter_functions
pom.xml 文件核心配置如下
<groupId>com.jd.jmeter.jsf</groupId>
<artifactId>JSF_Sampler</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<jmeter-version>5.4.3</jmeter-version>
</properties>
<dependencies>
<dependency>
<groupId>org.apache.jmeter</groupId>
<artifactId>ApacheJMeter_core</artifactId>
<version>${jmeter-version}</version>
</dependency>
<dependency>
<groupId>org.apache.jmeter</groupId>
<artifactId>ApacheJMeter_java</artifactId>
<version>${jmeter-version}</version>
</dependency>
<dependency>
<groupId>org.apache.jmeter</groupId>
<artifactId>ApacheJMeter_functions</artifactId>
<version>${jmeter-version}</version>
</dependency>
</dependencies>
3.2 继承实现 AbstractFunction 类
实现类依次实现以下几个步骤
1)新建实现类并继承 AbstractFunction
- 注意:实现类的包名必须包含 xxx.functions.xxx,Jmeter 使用命名规则实现实现类的加载。
2)重写以下方法,每个方法的用途见下方代码注释
- execute()
- setParameters()
- getReferenceKey()
- getArgumentDesc()
/**
* 京东宙斯 下单标准字段常量
*/
private static final String APP_KEY = "app_key";
pri