前提条件

1.pom文件引用ApacheJMeter_functions包

<dependency>
<groupId>org.apache.jmeter</groupId>
<artifactId>ApacheJMeter_functions</artifactId>
<version>5.2.1</version>
</dependency>

2.新建一个package,注意:包名必须为functions,不然函数助手找不到

3.新建的Java class继承AbstractFunction类;类下面四个方法必须全部实现

四个方法简介

  • execute:执行方法
  • setParameters:设置参数。接受用户传递的参数
  • getReferenceKey:功能名称,叫啥名字,就选的时候展示的那个名字;重点:名字必须是“__???”两个下划线打头
  • getArgumentDesc:功能、参数描述

示例---敲代码

public String execute(SampleResult sampleResult, Sampler sampler) throws InvalidVariableException {
System.out.println("execute run!!!");
return null;
}

public void setParameters(Collection<CompoundVariable> collection) throws InvalidVariableException {
System.out.println("setParameters run!!!");
}

public String getReferenceKey() {
System.out.println("getReferenceKey run!!!");
return "__MyDemo";
}

public List<String> getArgumentDesc() {
System.out.println("getArgumentDesc run!!!");
return null;
}

示例---Jmeter查看

Step

打包jar包放到Jmeter重启Jmeter选择我们自己的函数,找到了成功了!

Result

  • getReferenceKey、getArgumentDesc的println在Jmeter控制台成功打印
  • 执行顺序:getReferenceKey(方法名称,一点击函数助手就运行)getArgumentDesc(功能描述、参数描述)setParameters(设置参数,接收用户传递的参数)execute(执行我们的方法)
  • Jmeter报错,抛空指针

												

Jmeter扩展组件开发(8) - 函数助手扩展开发demo的更多相关文章

  1. <转>jmeter(十五)函数助手

    jmeter作为一个开源的性能测试工具,作用还是蛮强大的,找到一篇对jmeter中函数助手解释蛮详细的一篇博客,感觉不错,转载过来,希望对大家有所帮助. 由于时间和版本问题,其中有些内容和排版我做了修 ...

  2. JMETER - 连接MySQL数据库_函数助手_随机登录

    1. 导入mysql-connect.jar包 2. 添加配置原件-jdbc connection config 3. 添加jdbc请求 填写信息 4. 连接数据库 OK 5. 增加语句:jdbc r ...

  3. jmeter接口测试 -- Base64加密(函数助手添加自定义函数)

    图片转码 base64 致谢参考博客: https://www.cnblogs.com/qiaoyeye/p/7218770.html https://www.cnblogs.com/lasdaybg ...

  4. 如何有效地开发 Jmix 扩展组件

    扩展组件的概念在使用 Jmix 框架开发中扮演着非常重要的角色.我们将在本文探索什么是扩展组件以及 Jmix Studio 在扩展组件开发和应用程序模块化方面能给开发者带来什么帮助. Jmix 中的扩 ...

  5. MEF(Managed Extensibility Framework)有选择性地使用扩展组件

    在"MEF(Managed Extensibility Framework)使用全部扩展组件"中,客户端应用程序调用了所有的扩展组件,而且如果有新的扩展组件加入,必须先关闭程序,再 ...

  6. JMeter主要组件介绍

    JMeter主要组件介绍   转自https://www.cnblogs.com/linbo3168/p/6023962.html 作者:linbo.yang 1.测试计划(Test Plan)是使用 ...

  7. Jmeter扩展组件开发(10) - 自定义扩展函数助手的开发

    CODE package com.functions;import org.apache.jmeter.engine.util.CompoundVariable;import org.apache.j ...

  8. Jmeter扩展组件开发(2) - 扩展开发第一个demo的实现

    maven工程src目录介绍 main:写代码 main/java:写Java代码 main/resources:写配置文件 test:写测试代码 test/java demo实现 创建Package ...

  9. Jmeter扩展组件开发(9) - 解决空指针问题

    问题分析 上一节https://www.cnblogs.com/gltou/p/14967005.html功能描述内容为空,导致Jmeter报空指针 CODE List desc = new Arra ...

随机推荐

  1. iOS开发之转盘菜单

    前言 使用Swift实现的转盘菜单,主要用到UIBezierPath.CALayer遮罩绘制扇形UIView,CATransform3DMakeRotation实现旋转动画.代码设计使用默认confi ...

  2. 常见web中间件漏洞(五)weblogic漏洞

    继续整理有关中间件漏洞思路(仅做简单思路整理,不是复现,复现请参考大佬们的长篇好文,会在文章中列举部分操作) WebLogic是Oracle公司出品的一个application server,确切的说 ...

  3. 一个极其朴素的目录扫描Python脚本

    如果目录扫描工具被某些种类的waf拦截了,可以尝试(只是尝试,不是绝对能过)用脚本发出请求,具体功能看需求而定 原理...没啥原理,也没啥技术含量,相信大家都能看得懂的,nobody knows be ...

  4. Longhorn,企业级云原生容器分布式存储 - 监控(Prometheus+AlertManager+Grafana)

    内容来源于官方 Longhorn 1.1.2 英文技术手册. 系列 Longhorn 是什么? Longhorn 企业级云原生容器分布式存储解决方案设计架构和概念 Longhorn 企业级云原生容器分 ...

  5. SpringBoot - 集成RocketMQ实现延迟消息队列

    目录 前言 环境 具体实现 前言 RocketMQ是阿里巴巴在2012年开源的分布式消息中间件,记录下SpringBoot整合RocketMQ的方式,RocketMQ的安装可以查看:Windows下安 ...

  6. 分布式redis自增

    redis+springboot RedisUtil.java package com.meeno.chemical.common.redis; import java.util.Date; impo ...

  7. SpringBoot整合Quartz定时任务(持久化到数据库)

    背景 最近在做项目,项目中有个需求:需要使用定时任务,这个定时任务需要即时生效.查看Quartz官网之后发现:Quartz提供两种基本作业存储类型: RAMJobStore :RAM也就是内存,默认情 ...

  8. [ASP.NET MVC]EntityFramework离线部署

    根据项目需要可能会需要离线开发或者网速不好的情况下,很难配置EF,这种情况下就进行离线配置 (1)下载离线EF包: EF6.0的packages,百度网盘链接:https://pan.baidu.co ...

  9. Java程序设计学习笔记(五) — 多线程

    时间:2016-4-15 09:56 --多线程(还有多核编程)     1.进程         进程是一个正在执行中的程序.         每一个进程执行都有一个执行顺序,该顺序是一个执行路径, ...

  10. 五分钟搞定Docker安装ElasticSearch

    前言 项目准备上ElasticSearch,为了后期开发不卡壳只能笨鸟先飞,在整个安装过程中遇到以下三个问题. Docker安装非常慢 ElasticSearch-Head连接出现跨域 Elastic ...