1,打开eclipse,新建maven工程,在pom中引用jmeter核心jar包,具体请看---https://www.cnblogs.com/guanyf/p/10863033.html---,这里就不再赘述

2,代码如下:

 package com.mytest.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 org.apache.jmeter.threads.JMeterVariables;

 import java.util.Collection;

 import java.util.LinkedList;

 import java.util.List;

 public class If extends AbstractFunction {

     private static final List<String> desc = new LinkedList<String>();

     private static final String KEY = "__if";

     static {

         desc.add("Actual value");

         desc.add("Expected value");

         desc.add("Result if actual == expected");

         desc.add("Result if actual != expected");

         desc.add("Name of variable in which to store the result (optional)");

     }

     private Object[] values;

     public If() {

     }

     @Override

     public synchronized String execute(SampleResult previousResult, Sampler currentSampler)

             throws InvalidVariableException {

         String actual = getParameter(0);

         String expected = getParameter(1);

         String result = null;

         if (actual.equals(expected)) {

             result = getParameter(2).toString();

         } else {

             result = getParameter(3).toString();

         }

         JMeterVariables vars = getVariables();

         if (vars != null && values.length > 4) {

             String varName = getParameter(4).trim();

             vars.put(varName, result);

         }

         return result;

     }

     @Override

     public synchronized void setParameters(Collection<CompoundVariable> parameters) throws InvalidVariableException {

         checkMinParameterCount(parameters, 4);

         values = parameters.toArray();

     }

     @Override

     public String getReferenceKey() {

         return KEY;

     }

     @Override

     public List<String> getArgumentDesc() {

         return desc;

     }

     private String getParameter(int i) {

         return ((CompoundVariable) values[i]).execute();

     }

 }

jmeter添加自定义扩展函数之if判断的更多相关文章

  1. jmeter添加自定义扩展函数之图片base64编码

    打开eclipse,新建maven工程,在pom中引入jmeter核心jar包: <!-- https://mvnrepository.com/artifact/org.apache.jmete ...

  2. jmeter添加自定义扩展函数之DoubleSum

    1,打开eclipse,新建maven工程,在pom中引用jmeter核心jar包,具体请看---https://www.cnblogs.com/guanyf/p/10863033.html---,这 ...

  3. jmeter添加自定义扩展函数之小写转换大写

    1,打开eclipse,新建maven工程,在pom中引用jmeter核心jar包,具体请看---https://www.cnblogs.com/guanyf/p/10863033.html---,这 ...

  4. jmeter添加自定义扩展函数之大写转换小写

    1,打开eclipse,新建maven工程,在pom中引用jmeter核心jar包,具体请看---https://www.cnblogs.com/guanyf/p/10863033.html---,这 ...

  5. jmeter添加自定义扩展函数之MD5加密

    1,打开eclipse,新建maven工程,在pom中引用jmeter核心jar包,具体请看---https://www.cnblogs.com/guanyf/p/10863033.html---,这 ...

  6. jmeter添加自定义扩展函数之Strng---base64解密

    1,打开eclipse,新建maven工程,在pom中引用jmeter核心jar包,具体请看---https://www.cnblogs.com/guanyf/p/10863033.html---,这 ...

  7. jmeter添加自定义扩展函数之String---base64加密

    1,打开eclipse,新建maven工程,在pom中引用jmeter核心jar包,具体请看---https://www.cnblogs.com/guanyf/p/10863033.html---,这 ...

  8. jmeter添加自定义扩展函数之图片base64

    原文连接:---------https://www.cnblogs.com/qiaoyeye/p/7218770.html----------- 打开eclipse,新建maven工程,在pom中引用 ...

  9. Jmeter入门4 添加断言 判断响应数据是否符合预期

    发出请求之后,通过添加断言可以判断响应数据是否是我们的预期结果. 1 在Jmeter中发送一个登录的http请求(参数故意输入错误).结果肯定是登陆失败啦. 但结果树中http请求的图标显示‘绿色’表 ...

随机推荐

  1. PHP_CodeIgniter _remap重新定义方法

    如果controller定义了_remap方法, 在_remap中重新定义方法 class Test extends CI_Controller{ public function index(){ e ...

  2. [未解决]报错: crawlab启动失败

    拉取镜像 docker pull tikazyq/crawlab:latest 一键启动 docker-compose up 报错提示:

  3. python学习第二天标准输入输出和注释用法

    任何编程语言都有输入输出和用打交道,python也不例外,输入input(),输出print() 玖乐网络(http://www.96net.com.cn/)分享自己的心得 1,input()用法实例 ...

  4. beeline链接hive报错

    看问题:beeline连接hiveserver2报错.连接串:hive  --service beeline -u jdbc:hive2://localhost:10000/hive 错误:Error ...

  5. SpringMVC表单或Json中日期字符串与JavaBean的Date类型的转换

    SpringMVC表单或Json中日期字符串与JavaBean的Date类型的转换 场景一:表单中的日期字符串和JavaBean的Date类型的转换 在使用SpringMVC的时候,经常会遇到表单中的 ...

  6. jieba库的使用

    jieba库的使用 jeiba库是一款很优秀的用于中文分词的第三方库,它通过一个汉词词典来确定汉字之间的关联概率,将概率较大的组成分词. 精准模式 把文本精准的分割开来,不存在冗余单词. jieba. ...

  7. shell截取小数点前后的子串

  8. repquota - 文件系统配额的汇总

    SYNOPSIS(总览) repquota [ -vugs ] filesystem... repquota [ -avugs ] DESCRIPTION(描述) repquota 显示与配额文件相关 ...

  9. Shell05--函数应用

    目录 Shell05---函数应用 1. 函数基本概述 2. 函数基本使用 3. 函数参数传递 4. 函数状态返回 5. 函数场景示例 Shell05---函数应用 1. 函数基本概述 01. 什么是 ...

  10. [C++] 所有该类的对象共享静态类成员变量

    问:智能指针可以对指针的引用数量进行计数,一个智能指针释放时,别的智能指针怎么知道的? 同一类的对象共享同一变量最简单的方法是静态变量: 不像普通的变量,静态成员变量是被所有类对象共享的,不同的对象可 ...