zoukankan      html  css  js  c++  java
  • jmeter自定义函数

    1.和jmeter伪二次开发前面相同,引入的包最少需要AbstractFunction和CompoundVariable,包从对应的jmeter的lib文件夹下面找

    2.必须要命名包名,包名的形式为XXXX.functions的格式

    3.创建类必须继承AbstractFunction

    4.查看和编写内容

     5.代码

    public class hello2 extends AbstractFunction {
    public static final String key="__hello";
    public static List<String> params=new LinkedList<>();
    public static String username;
    public static String username1;
    static{
    params.add("请输入第一个数字");
    params.add("请输入第二个数字");
    }
    @Override
    //用来设置GUI界面的函数参数对话框,把自己定义的参数给显示在jmeter的GUI界面上
    public List<String> getArgumentDesc() {
    // TODO Auto-generated method stub
    return params;
    }
    @Override
    //函数的逻辑执行主体,就是用户使用此函数之后返回的内容是什么,比如return "ty",那么用户在jmeter使用${__hello(,)}时就响应ty
    //
    public String execute(SampleResult arg0, Sampler arg1) throws InvalidVariableException {
    int a=Integer.valueOf(username);
    int b=Integer.valueOf(username1);
    int c=a+b;
    return c+"";
    }
    @Override
    //用来定义函数的名称,把自己定义的内容显示在函数对话框中
    public String getReferenceKey() {
    // TODO Auto-generated method stub
    return key;
    }
    @Override
    //y用来接收和处理GUI界面的参数的传值
    public void setParameters(Collection<CompoundVariable> arg0) throws InvalidVariableException {
    // TODO Auto-generated method stub
    //checkMinParameterCount(arg0,1);//用来检查传参的最小值
    //checkParameterCount(arg0,2);//用来检测传参的个数
    //checkParameterCount(arg0,2,4);//用来检测传参个数的范围,2-4个
    //先将接收的参数转成数组,values接收页面上传过来的多个值,用数组的形式存储
    Object[] values=arg0.toArray();
    //然后使用CompoundVariable提供的execute()方法将值转成toString
    username=((CompoundVariable)values[0]).execute();
    username1=((CompoundVariable)values[1]).execute();
    }

    }

  • 相关阅读:
    并发编程(贰):线程池浅析
    并发编程(壹):创建线程的三种方式及其对比
    Spring Boot使用@Async实现异步调用:自定义线程池
    parallel stream-不能随便使用
    Java 8新特性(四):新的时间和日期API
    Java 8新特性(三):Optional类
    Java 8新特性(二):Stream API
    Java 8新特性(一):Lambda表达式
    ES日期存储
    String,StringBuffer,StringBuillder的底层结构
  • 原文地址:https://www.cnblogs.com/wendy-0901/p/13728757.html
Copyright © 2011-2022 走看看