如何将值传递给Jmeter的用户定义类(Jar文件)?

时间:2018-02-19 06:28:42

标签: jmeter

我是Jmeter的新手。我写了一个类,有更多的方法来执行一些加密。我需要根据Jmeter的响应将值传递给类的方法。对此的帮助非常有用!

import java.security.Key;
import java.security.KeyFactory;
import java.security.PublicKey;
import java.security.spec.X509EncodedKeySpec;
import javax.crypto.Cipher;
import android.util.Base64;

public  class Test2 {

String public_key;
String card_no;
public String getPublic_key() {
    return public_key;
}

public void setPublic_key(String public_key) {
    this.public_key = public_key;
}

public String getCard_no() {
    return card_no;
}

public void setCard_no(String card_no) {
    this.card_no = card_no;
}

public static String trimBegin(String public_key) {

    String trimmed_string = public_key.replaceFirst("-----BEGIN PUBLIC KEY-----", "");
    return trimmed_string;
}

public static String trimEnd(String trimmed_string) {

    String trimmed_string1 = trimmed_string.replaceFirst("-----END PUBLIC KEY-----", "");
    return trimmed_string1;
}

public static String replace(String trimmed_string1) {
    String final_key=trimmed_string1.replaceAll("\n", "");
    return final_key;

}

}

我需要使用jmeter将值传递给方法trimBegin,从而访问rest所有方法

1 个答案:

答案 0 :(得分:1)

  1. 将您的类打包为.jar文件,并将其与所有依赖项(尤其是android.util.Base64)一起放到JMeter Classpath
  2. 重新启动JMeter以选择罐子
  3. 您应该可以从JSR223 Test Elements调用trimBegin方法,例如:

    String trimmed = Test2.trimBegin(ctx.getPreviousResult().getResponseDataAsString())
    

    ctx.getPreviousResult().getResponseDataAsString()函数返回上一个采样器的结果。

  4. 另请注意,从JMeter version 4.0开始,您__digest() function所以从理论上讲,您不必进行任何自定义开发。