Jmeter函数组件开发
来源:互联网 发布:centos 连接不加密wifi 编辑:程序博客网 时间:2024/05/29 19:03
插件开发方法有两种:
一、在jmeter官网下载jmeter源码,在源码里面新加函数,然后导出jar;
二、不下载源码,直接导入jmeter相应的jar包,即可开发。(推荐)
下面介绍第二种开发方法:
在eclipse新建项目,导入jmeter目录下\lib\ext目录中的的ApacheJMeter_core.jar,继承AbstractFunction类。
案例:以下写一个计算阶乘的Function,将其命名为Factorial,主要代码参考如下,
import java.util.Collection;import java.util.LinkedList;import java.util.List;import org.apache.jmeter.engine.util.CompoundVariable;import org.apache.jmeter.functions.AbstractFunction;import org.apache.jmeter.functions.InvalidVariableException;import org.apache.jmeter.samplers.SampleResult;import org.apache.jmeter.samplers.Sampler;import org.apache.jmeter.util.JMeterUtils;import org.apache.jorphan.logging.LoggingManager;import org.apache.log.Logger;public class Factorial extends AbstractFunction { private static final Logger log = LoggingManager.getLoggerForClass(); private static final List<String> desc = new LinkedList<String>(); private static final String KEY = "__factorial"; private Object[] values = null; static { desc.add("factorial_value"); } //描述参数 @Override public List<String> getArgumentDesc() { // TODO Auto-generated method stub return desc; } //函数执行,返回结果 @Override public String execute(SampleResult previousResult, Sampler currentSampler) throws InvalidVariableException { // TODO Auto-generated method stub String numberString = ((CompoundVariable) values[0]).execute().trim(); int num; try{ num = Integer.valueOf(numberString); } catch (Exception e){ return null; } return String.valueOf(factorial(num)); } //获取函数引用关键字 @Override public String getReferenceKey() { // TODO Auto-generated method stub return KEY; } //设置参数 @Override public void setParameters(Collection<CompoundVariable> parameters) throws InvalidVariableException { // TODO Auto-generated method stub //可以检查参数数量,主要包括以下两种方法 checkMinParameterCount(parameters, 1); checkParameterCount(parameters, 1, 1); values = parameters.toArray(); } private int factorial(int num){ int result = 1; if(num < 0){ return -1; } if(num == 0){ result = 1; } else { for(int i = num; i > 0; i--){ result *= i; } } return result; }}
通过继承AbstractFunction抽象类,重写getArgumentDesc方法实现对函数参数的描述,重写setParameters方法来对函数的参数进行检查和设置,重写getReferenceKey方法告诉JMeter该函数在框架中的引用名称,重写execute方法,实现对该函数的执行并返回结果。通过上述代码我们完成了对Factorial函数组件的编写。
将代码导出为jar文件,放在\lib\ext目录中,打开jmeter即可在函数助手中查看到该函数组件:
0 0
- Jmeter函数组件开发
- Jmeter组件开发概述
- Jmeter组件
- Jmeter(7)----开发自定义函数
- jmeter函数开发实现返回随机字符串
- Jmeter函数
- Jmeter常用组件介绍
- web--jmeter重要组件
- jmeter的常用组件
- Jmeter组件介绍
- jmeter组件执行顺序
- jmeter基础组件
- Jmeter开发自定义函数(32位小写md5加密)
- JMeter 的主要测试组件
- jmeter- 函数测试模式
- Jmeter自定义函数
- Jmeter常用函数
- Jmeter函数之 _CSVRead
- jmeter正则表达式提取器提取特定字符串后的全部内容
- 关于图片或者文件在数据库的存储方式归纳
- 获取JVM的dump文件
- VisualVM监控远程主机上的JAVA应用程序
- Tomcat之jvm及连接数设置
- Jmeter函数组件开发
- jmeter参数化随机取值实现
- Python接口测试简单框架
- Jenkins不同job之间传递参数
- Qt的.pro工程文件语法学习
- Windows下JIRA6.3.6安装、汉化、破解
- windows平台把UliPad添加到右键菜单
- Swift使用Alamofire上传图片等FormData表单文件的方法
- 转:自旋锁(spinlock)