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 UpperCase extends AbstractFunction {

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

    private static final String KEY = "__uppercase";

    static {

        desc.add("String to convert to uppercase");

        desc.add("Name of variable in which to store the result (optional),The author is guanyf");

    }

    private Object[] values;

    /**

     * No-arg constructor.

     */

    public UpperCase() {

    }

    /**

     * {@inheritDoc}

     */

    @Override

    public synchronized String execute(SampleResult previousResult, Sampler currentSampler)

            throws InvalidVariableException {

        JMeterVariables vars = getVariables();

        String res = ((CompoundVariable) values[0]).execute().toUpperCase();

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

            String varName = ((CompoundVariable) values[1]).execute().trim();

            vars.put(varName, res);

        }

        return res;

    }

    /**

     * {@inheritDoc}

     */

    @Override

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

        checkMinParameterCount(parameters, 1);

        values = parameters.toArray();

    }

    /**

     * {@inheritDoc}

     */

    @Override

    public String getReferenceKey() {

        return KEY;

    }

    /**

     * {@inheritDoc}

     */

    @Override

    public List<String> getArgumentDesc() {

        return desc;

    }

}

最新文章

  1. SQL注入
  2. JavaScript(js)的replace问题的解决
  3. 微信小程序-视图视图引用
  4. AngularJS directive 指令相关记录
  5. git 项目初始化
  6. [金阳光测试]IOS 自动化测试
  7. Poj 3061 Subsequence(二分+前缀和)
  8. (续)线性表之双向链表(C语言实现)
  9. angularjs实现首页轮播图
  10. cmapx 保存绘制好的图层
  11. Spring Security 无法登陆,报错:There is no PasswordEncoder mapped for the id “null”
  12. C#匿名类型和动态解析减少定义传输类模板
  13. 详解Vue 开发模式下跨域问题
  14. linux中时间命令详解
  15. 迁移Windows下的MySQL时字符乱码问题
  16. highcharts图表中级入门:非histock图表的highcharts图表如何让图表产生滚动条
  17. lucene.net 3.0.3、结合盘古分词进行搜索的小例子(分页功能)
  18. 同样的输入,为什么Objects.hash()方法返回的hash值每次不一样?
  19. EmEditor的正则表达式
  20. 使用Masonry在UIScrollView内布局

热门文章

  1. C#清空StringBuilder的三种方法
  2. mybatis多对多
  3. android 学习路线
  4. .net 异步
  5. JVM(8)之 Stop The World
  6. html的q标签、blockquote标签
  7. JS中的Boolean数据类型
  8. Git配置全局账号密码避免每次拉取、提交输入账号密码
  9. javaScript的预加载
  10. python路径引用r的含义