Jmeter扩展组件开发(10) - 自定义扩展函数助手的开发
CODE
package com.functions;
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 java.util.ArrayList;
import java.util.Collection;
import java.util.List;
public class Plus extends AbstractFunction {
private Object[] values;//声明变量values用来接用户输入的参数;为什么是Object,用户输入的不代表是int型的数据
private CompoundVariable first,second;//存储第一个和第二个参数
/*
*执行方法
* @param sampleResul
* @param sampler
* @return
* @throws InvalidVariableException
*/
public String execute(SampleResult sampleResult, Sampler sampler) throws InvalidVariableException {
System.out.println("execute run!!!");
first = (CompoundVariable) values[0];//强转,因为定义first时,定义的是CompoundVariable
System.out.println("第一个参数是" + first);
second = (CompoundVariable) values[1];
System.out.println("第二个参数是" + second);
int count = new Integer(first.execute().trim()) + new Integer(second.execute().trim());//声明一个“和”变量;将first和second转换为int,将两段空格去掉
System.out.println("两数相加的合是" + count);
return String.valueOf(count); //因为public接收的是string,所以返回去转成string
}
/*
*设置参数,接收用户传递的参数
* @param collection
* @throws InvalidVariableException
*/
public void setParameters(Collection<CompoundVariable> collection) throws InvalidVariableException {
checkMinParameterCount(collection,2);//有两个参数,这个方法是apacheJmeter自带的检查参数写的是否合法,接收参数
values = collection.toArray();//接收到用户输入的参数,把它变成一个数组
System.out.println("setParameters run!!!");
}
/*
* 功能名称
* @return
*/
public String getReferenceKey() {
System.out.println("getReferenceKey run!!!");
return "__MyDemoPlus";
}
/*
* 功能描述,参数描述
* @return
*/
public List<String> getArgumentDesc() {
System.out.println("getArgumentDesc run!!!");
List desc = new ArrayList();
desc.add("第一个数字");//第一行参数展示
desc.add("第二个数字");//第二行参数展示
return desc;
}
}
Step
敲代码打包放到Jmeter目录Jmeter重启校验添加__MyDemoPlus函数,运用出结果,OK简单的函数助手开发完成

Jmeter扩展组件开发(10) - 自定义扩展函数助手的开发的更多相关文章
- Jmeter扩展组件开发(1) - 创建maven工程
		
前言 没有安装IDEA的伙伴先安装.url:https://www.cnblogs.com/gltou/p/14956060.html 扩展开发实现的两种方式 继承AbstracJavaSampler ...
 - JMeter扩展插件实现对自定义协议进行支持 转
		
本文版权归xmeter.net 所有.欢迎转载,转载请注明出处. 摘要## JMeter本身提供了插件机制,允许第三方扩展JMeter以支持JMeter不支持的协议的测试.本文以扩展一个简单的Apac ...
 - Jmeter扩展组件开发(8) - 函数助手扩展开发demo
		
前提条件 1.pom文件引用ApacheJMeter_functions包 <dependency> <groupId>org.apache.jmeter</groupI ...
 - Jmeter扩展组件开发(7) - 自定义java请求的开发
		
CODE package com.demo;import org.apache.jmeter.config.Arguments;import org.apache.jmeter.protocol.ja ...
 - Jmeter扩展组件开发(4) - 自定义参数的实现
		
CODE //URLNAME 就是在图形化界面当中显示的变量名称private static final String URLNAME = "URL";//设置界面当中默认显示的变 ...
 - Jmeter扩展组件开发(6) - 将响应结果数据显示到查看结果树中
		
CODE //用来存储响应数据,目的是将响应结果放到查看结果树当中private String resultData;/** 这个方法就是实现你具体功能逻辑的方法* @param javaSample ...
 - Jmeter扩展组件开发(2) - 扩展开发第一个demo的实现
		
maven工程src目录介绍 main:写代码 main/java:写Java代码 main/resources:写配置文件 test:写测试代码 test/java demo实现 创建Package ...
 - Jmeter扩展组件开发(5) - 初始化方法的作用与实现
		
CODE //URLNAME 就是在图形化界面当中显示的变量名称private static final String URLNAME = "URL";//设置界面当中默认显示的变 ...
 - Jmeter扩展组件开发(3) - 实现方法
		
继承JavaSamplerClient,四种实现方法讲解 前提 JavaSamplerClient要把四种实现方法都继承,编译器才不会报错. com.demo(package包)右键新建一个secon ...
 
随机推荐
- noip29
			
T1 以下的LIS代指最长不降子序列. 考场看到取模,便想到了之前写过的Medain,取模操作让序列分布均匀,对应到本题上,既然是求LIS,那它应该是有循环节的,后来打表证实确实是有. 然后,我码了个 ...
 - 题解 P6271 [湖北省队互测2014]一个人的数论
			
通过这道题学了伯努利数,写篇题解推一下 题目 先推一下式子 \[\sum_{i=1}^ni^d[gcd(i,n)=1] \] \[\sum_{i=1}^{n}i^d\sum_{k|i}\sum_{k| ...
 - 题解 e
			
传送门 第一眼看貌似可以树剖,然而那个绝对值不知怎么维护 求最小连通块我只会\(k^2\) 主席树貌似可以用来查询区间内与某个数差的绝对值的最小值? 确实,每次查大于等于该数的最小数和小于等于该数的最 ...
 - SpringCloud升级之路2020.0.x版-21.Spring Cloud LoadBalancer简介
			
本系列代码地址:https://github.com/HashZhang/spring-cloud-scaffold/tree/master/spring-cloud-iiford 我们使用 Spri ...
 - Centos7上安装最新的nodejs
			
下载nodejs包 安装wget yum install -y wget 下载nodejs到/usr/local/nodejs/下 https://cdn.npm.taobao.org/dist/no ...
 - 基于taro封装底下浮动弹窗组件
			
先看效果图: jsx: import Taro, { Component } from '@tarojs/taro' import { View, Image } from '@tarojs/comp ...
 - 本文详细阐述如何用C#创建COM组件,并能用VC6.0等调用。
			
本文详细阐述如何用C#创建COM组件,并能用VC6.0等调用. 附:本文适用任何VS系列工具. 在用C#创建COM组件时,一定要记住以下几点: 1.所要导出的类必须为公有: 2.所有属性.方法也必须为 ...
 - Linux c高级
			
目录 一.Linux 1.1.嵌入式 1.2.什么是Linux 1.3.Linux发行版 1.4.Linux体系结构 1.5.虚拟4G内存 1.6.shell 命令 1.7.软件包的管理 1.8.图形 ...
 - 深入Pulsar Consumer的使用方式&源码分析
			
原文链接 1.使用前准备 引入依赖: <dependency> <groupId>org.apache.pulsar</groupId> <artifactI ...
 - Python 脚本的执行
			
源文件如下,文件名test.py,其中UTF-8根据实际情况而定,Python3默认为UTF-8,所以不用设置: #!/usr/bin/python # -*- coding: UTF-8 -*- p ...