使用Eclipse實現自定義Jmeter函數助手

1. 創建JAVA工程,創建包, 必須要命名包名,包名的形式爲XXXX.functions的格式


c30e57cfb6ef0cfe3c4d9859dc2cd50a.png


2.創建類必須繼承AbstractFunction

e744ffbd289d405c49399fd122c8bf25.png


3.編寫代碼

package org.apache.jmeter.functions;
import java.util.Collection;
import java.util.LinkedList;
import java.util.List;
import org.apache.jmeter.engine.util.CompoundVariable;
import org.apache.jmeter.samplers.SampleResult;
import org.apache.jmeter.samplers.Sampler;
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
public List<String> getArgumentDesc() {
    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() {
    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();
    }
}


5.打JAR包

工程右鍵--EXPORT

image.png


image.png

image.png

image.png


6.把JAR包拷貝到Jmeter Lib目錄下ext中,打開Jmeter

image.png


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章