性能测试工具 Jmeter 做 Http 接口测试 :编写自定义函数

本文介绍了如何在JMeter中编写自定义函数进行Http接口测试,详细阐述了从新建工程、导入JMeter库,到继承AbstractFunction、设置参数、打包、部署及测试的完整步骤,特别强调了package命名需包含'functions'一级的重要性。
摘要由CSDN通过智能技术生成

目录

一、 前言

二、 编写自定义函数的步骤

1. 新建一个工程,导入 jmeter jar 包。

2. 新建 package:stressTest.functions

3. 新建一个类继承 AbstractFunction,重写以下方法:

4. 打包

5. 将打出来的 jar 包拷贝至 jmeter 的目录:

6. 运行

7. 测试


一、 前言

在JMeter中进行HTTP接口测试时,编写自定义函数可以帮助我们更灵活地处理测试数据和参数化请求。自定义函数可以根据特定的需求生成动态的测试数据,从而增加测试的覆盖范围和准确性。

比如最近一个项目,在发送 http 请求的时候,客户端需要发 Token,它是根据给项目分配的 ID 和 Key 值以及系统当前时间生成的,服务端会验证该 Token 的有效性。

开发自定义函数,网上一般有两种做法:

  • 修改 jmeter 源码,增加一个函数,重新导出 jmeter 的 jar 包,放入 jmeter 的 lib 目录。
  • 新建一个项目,导入 jmeter 原生 jar 包,继承虚基类,编写新函数,打包,放入 jmeter 的 lib 目录。

第一种方法既复杂,又不易于维护管理,我个人喜欢用第二种方法。

第二种方法的大坑就是 package 命名有特殊的要求:package 路径中必须包含 functions 一级。

二、 编写自定义函数的步骤
1. 新建一个工程,导入 jmeter jar 包。

我用 maven 管理项目,因此只需要在 pom 文件中加入以下引用。

<dependency>
     <groupId>org.apache.jmeter</groupId>
     <artifactId>ApacheJMeter_java</artifactId>
     <version>3.0</version>
 </dependency>
 <dependency>
     <groupId>org.apache.jmeter</groupId>
     <artifactId>ApacheJMeter_core</artifactId>
     <version>3.0</version>
 </dependency>
2. 新建 package:stressTest.functions

注意:路径中必须包含 functions,否则 jmeter 无法识别。JMeter 设计让一些核心的类(非 UI 相关的,比如 ApacheJMeter_core 等)可以在非 UI 的方式下运行的时候能被加载进来,这些类会被优先加载。加载这些类的时候是通过命名规则来实现的。所有实现 function 的类必需包含".functions."。
当然也可以通过更改 jmeter.properties 中的配置来实现改变命名规则,如下所示。但是一般来说不推荐更改此项配置。

classfinder.functions.contain=.functions.
3. 新建一个类继承 AbstractFunction,重写以下方法:
  • execute
  • setParame
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值