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();
    }

    }

  • 相关阅读:
    Orleans is a framework
    修改emlog后台登录路径的方法(转)
    form表单中的 action=./?> 是什么意思
    10 个迅速提升你 Git 水平的提示(转)
    为什么国外程序员爱用苹果Mac电脑?(转)
    Socket 专题
    Android 时间戳简单转化
    Android 常用时间格式转换代码
    Android AlarmManager(全局定时器/闹钟)指定时长或以周期形式执行某项操作
    Android AlarmManager类的应用(实现闹钟功能)
  • 原文地址:https://www.cnblogs.com/wendy-0901/p/13728757.html
Copyright © 2011-2022 走看看