jmeter添加自定函数的实例(jmeter5.3+IntelliJ IDEA)

1、打开IntelliJ IDEA,新建一个Maven项目

2、导入Jmeter的依赖包
在idea中导入jmeter下的ApacheJMeter_core.jar和ApacheJMeter_functions.jar依赖包

3、添加java自定义函数
要实现扩展JMeter function,主要有两点:

实现function的类的package声明必须包含".functions"需要继承org.apache.jmeter.functions.AbstractFunction,并且实现相应的方法。
扩展AbstractFunction类

package org.apache.jmeter.functions;import java.util.Collection;import java.util.LinkedList;import java.util.List;import org.apache.jmeter.engine.util.CompoundVariable;import org.apache.jmeter.samplers.SampleResult;import org.apache.jmeter.samplers.Sampler;import org.apache.jmeter.util.JMeterUtils;public class MyFunction extends AbstractFunction {//自定义function的描述 private static final List<String> desc = new LinkedList<>(); //function名称 private static final String KEY = "__MyFunction"; static {  desc.add("systemnum");  desc.add("sizenum"); } private CompoundVariable systemnum; private CompoundVariable sizenum;// 函数的逻辑执行主体 /** {@inheritDoc} */ @Override public String execute(SampleResult previousResult, Sampler currentSampler)   throws InvalidVariableException {  long num = Long.valueOf(systemnum.execute());  int size = Integer.valueOf(sizenum.execute());  String str = Long.toHexString(num);;  while(str.length()<size){   str = "0" + str;  }  return str; }// 用来接收和处理GUI界面的参数的传值 /** {@inheritDoc} */ @Override public void setParameters(Collection<CompoundVariable> parameters) throws InvalidVariableException {  checkParameterCount(parameters, 2);  Object[] values = parameters.toArray();  systemnum = (CompoundVariable) values[0];  sizenum = (CompoundVariable) values[1]; }// 用来定义函数的名称,把自定义的内容显示在函数对话框中 /** {@inheritDoc} */ @Override public String getReferenceKey() {  return KEY; }// 用来设置GUI界面的函数对话框,把自己定义的参数给显示在jmeter的GUI界面上 /** {@inheritDoc} */ @Override public List<String> getArgumentDesc() {  return desc; }}

4、将自定义函数编译成.class文件*
由于Maven默认用的是JDK1.5去编译,所以使用JDK1.8版本进行编译的时候报错了。

在pom.xml中添加以下代码,然后进行编译(Build->Build project),编译成功

 <build>  <plugins>   <plugin>    <groupId>org.apache.maven.plugins</groupId>    <artifactId>maven-compiler-plugin</artifactId>    <version>3.5.1</version>    <configuration>     <source>1.8</source>     <target>1.8</target>    </configuration>   </plugin>  </plugins> </build>

5、将.class文件添加到ApacheJMeter_functions.jar中
使用WinRAR打开ApacheJMeter_functions.jar,进入\org\apache\jmeter\functions目录下

点击【添加】,选择编译好的.class文件

6、

重新启动jmeter
打开函数助手

自定义函数添加成功

到此这篇关于jmeter添加自定函数的实例(jmeter5.3+IntelliJ IDEA)的文章就介绍到这了,更多相关jmeter添加自定函数内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Web Jmeter–接口测试工具详解

    关于Jmeter性能测试工具不再过多介绍.如果你要学习软件性能测试,那么多少应该会对它有所耳闻. 强烈建议阅读官方文档学习:http://jmeter.apache.org/index.html 还有比这个更权威更全面的介绍Jmeter工具使用的么? 不过,此处要介绍是用它来做接口测试. 一.安装Jmeter                      Jmeter官方首页:http://jmeter.apache.org/ 关于Jmeter可以做什么,官方上也有非常详细的介绍.另外它的文档也写很

  • 在jmeter的beanshell中用java获取系统当前时间的简单实例

    复制代码 代码如下: import java.util.*; int y,m,d,h,mi,s;     Calendar cal=Calendar.getInstance();     y=cal.get(Calendar.YEAR);     m=cal.get(Calendar.MONTH);     d=cal.get(Calendar.DATE);     h=cal.get(Calendar.HOUR_OF_DAY);     mi=cal.get(Calendar.MINUTE);

  • Jmeter常见函数使用方法汇总

    __intSum intSum 函数可用于计算两个或多个整数值的总和. 引用名称是可选的, 但它不能是有效的整数. {__intSum(2,5,MYVAR)} 将返回 7 (2 5) 并将结果存储在 MYVAR 变量中.因此 {MYVAR} 将等于7. ${__intSum(2,5,7)} 将返回 14 (2 5 7) 并将结果存储在 MYVAR 变量中. {__intSum(1,2,5,${MYVAR})} 如果 MYVAR 值等于8.1 2 5 {MYVAR}, 则返回16 __longSu

  • jmeter 在linux服务器的安装和运行教程图解

    linux环境下使用就meter进行压力测试: 1.linux环境部署:在Linux服务器先安装jdk: 2.以jdk-8u172-linux-x64.tar.gz为例: 下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html 1.根据自己的服务器的机型选择:小编的是64位的,这里就以64位为例: 3.然后把下载tar.gz文件发送到服务器上: 这里我们可以使用xshell,连接服务器,同时也要下载xftp来

  • Jmeter自定义函数base64加密实现过程解析

    新建一个类继承AbstractFunction,重写以下方法: execute setParameters getReferenceKey getArgumentDesc 这四个方法介绍如下: public String execute(SampleResult previousResult, Sampler currentSampler) throws InvalidVariableException JMeter会将上次运行的SampleResult和当前的Sampler作为参数传入到该方法

  • 使用Jmeter连接Mysql图文教程

    1.下载连接mysql数据库jar包,地址:http://www.jb51.net/softs/214141.html 注意:想要正常运行该软件需要安装Java环境,本站提供了该Java软件的下载地址,需要的朋友们可以点击下载. 2.将文件拷贝到Jmeter\lib\ext目录下,我的是:D:\Program Files\apache-jmeter-2.11\lib\ext Jmeter安装使用教程参见:http://www.jb51.net/softjc/266834.html 3.启动Jme

  • jmeter设置全局变量与正则表达式提取器过程图解

    接口测试中,很多接口都要带上登录后的token才能正常发送请求,这里记录一下登录获取token设置为全局变量供其他接口使用 登录后返回信息信息中会有一个token值,添加后置处理器中的正则表达式提取token,然后用后置处理器中的BeanShell PostProcessor设置token为全局变量 1.获取token值: 1.1.用fiddler抓包 1.2.F12查看接口信息 1.3.用jmeter登录查看 2.正则表达式提取token: 3.BeanShell PostProcessor设

  • jmeter添加自定函数的实例(jmeter5.3+IntelliJ IDEA)

    1.打开IntelliJ IDEA,新建一个Maven项目 2.导入Jmeter的依赖包 在idea中导入jmeter下的ApacheJMeter_core.jar和ApacheJMeter_functions.jar依赖包 3.添加java自定义函数 要实现扩展JMeter function,主要有两点: 实现function的类的package声明必须包含".functions"需要继承org.apache.jmeter.functions.AbstractFunction,并且实

  • android实现状态栏添加图标的函数实例

    本文实例讲述了android实现状态栏添加图标的函数.分享给大家供大家参考.具体如下: private void showNotification() { // 创建一个NotificationManager的引用 NotificationManager notificationManager = (NotificationManager) AutoFile.this.getSystemService(android.content.Context.NOTIFICATION_SERVICE);

  • C语言实现进制转换函数的实例详解

    C语言实现进制转换函数的实例详解 前言: 写一个二进制,八进制,十六进制转换为十进制的函数 要求: 函数有两个参数,参数(1)是要转换为十进制的进制数,参数(2)是标示参数(1)是什么进制(2,8,16标示二进制,八进制,十六进制). 要有报错信息,比如参数是1012,但参数(2)是2,显然是进制数表示有错误. 系统表 pg_proc 存储关于函数的信息 内部函数在编译之前需要先定义在 pg_proc.h 中,src/include/catalog/pg_proc.h CATALOG(pg_pr

  • C语言实现字符串操作函数的实例

    C语言实现字符串操作函数的实例 在编写程序的过程中,我们经常使用到一些字符串函数,例如求字符串长度,拷贝字符串--,这些函数都在C标准库中存在,我们可以直接使用.但我们还需要掌握这些函数的实现方法,今天来看看一些常用的字符串操作函数的实现方法. 1.strlen strlen是用来求字符串长度的函数,字符串长度就是它所包含的字符个数. 今天给大家介绍三种实现strlen函数的方法 (1)定义一个计数器count //方式一:定义一个计数器 size_t my_strlen(const char

  • jQuery插件制作之全局函数用法实例

    本文实例讲述了jQuery插件制作之全局函数用法.分享给大家供大家参考.具体分析如下: 1.添加新的全局函数 所谓的全局函数,实际上就是jQuery对象的方法,但从实践的角度上看,他们是位于jQuery命名空间内部的函数 (1)添加一个函数,只需要将新函数指定为jQuery对象的一个属性. jQuery.five =function(){ alert("直接继承方式不一样"); } 调用: 复制代码 代码如下: $.five(); (2)添加多个函数 jQuery.five =func

  • Android ListView里控件添加监听方法的实例详解

    Android ListView里控件添加监听方法的实例详解 关于ListView,算是android中比较常见的控件,在ListView我们通常需要一个模板,这个模板指的不是住模块,而是配置显示在ListView里面的东西,今天做项目的时候发现想要添加一个ImageView监听方法,发现崩了,也许是好久没有动ListView竟然忘了不能直接在主UI的xml文件里面调用其他xml文件的控件,哪怕ListView用的是这个xml文件. [错误示范]: 直接调用ImageView这个控件是ListV

  • C语言实现时区转换函数的实例

    C语言实现时区转换函数的实例 时区转换函数 功能: 把时区1的时间转换成时区2的时间 参数: arg1 -- 输入时间 arg2 -- 时区1(也是arg1当前时间所在的时区) arg3 -- 时区2(要转换的时区的时间) 要求: 参数arg1类型可为timestamp 24个时区(由1-24表示) 在 pg_proc.h 中添加函数定义 src/include/catalog/pg_proc.h DATA(insert OID = 6668 ( timezone_convert PGNSP P

  • javascript原生封装一个淡入淡出效果的函数测试实例代码

    说到js的渐变显示与消失,多数朋友会想到JQuery里面的fadeIn().fadeOut()或fadeToggle().但如果仅仅是为了引入这样的一个效果,而去调用了庞大JQuery库?或者说我通过用原生js实现一些函数来提高自己~ 所以,我简单的研究了一下纯js代码写淡入淡出的效果. 如果出现错误,请在评论中指出,我也好自己纠正自己的错误 (一)FadeIn淡入函数 淡入淡出的效果,其实就是一个setInterval(),加上循环的DOM操作,通过改变element对象节点的透明度,即可实现

  • 对vue中v-on绑定自定事件的实例讲解

    关于官网vue中v-on绑定自定义事件的个人理解 对官网实例进行了一些修改,如下图: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>v-on绑定自定义事件</title> <script src="vue.js"></script> </head>

  • JS非行间样式获取函数的实例代码

    行间样式:元素内部用style定义的样式,如:<div style="width:200px;"></div> 非行间样式:在<style></style>内通过css定义的样式 先看一段出问题的代码 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </

随机推荐