Jmeter 中的 Beanshell 脚本

Beanshell Scripting in Jmeter

我正在尝试增加一个字母数字字符串并将其传递给 Jmeter 2.11 中的请求。附上下面的片段。请帮忙。

import java.util.*;
import java.io.*;

var str="BaseDS66";
var a=1;
int position=8;
String newStr=str.substring(6,position);
//String newStr=str.replace("BaseDS","");
var n = ${newStr};
//String ADD = newStr + Integer.parseInt(1);
//String newStr1=sum(newStr + a);
//for (int i=0; i<newStr )
vars.put("Str",n);

提前致谢

如果您需要:

  1. 提取这个66
  2. 增加到 67
  3. 替换原来的值所以BaseDS66变成BaseDS67
  4. 并将值存储到 ${Str} JMeter 变量中,您可以按如下方式进行:

    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
    
    String str = "BaseDS66";
    
    Pattern p = Pattern.compile("(\d+)", Pattern.CASE_INSENSITIVE | Pattern.DOTALL);
    Matcher m = p.matcher(str);
    
    if (m.find()) {
        String originalValueString = m.group(1);
        int originalValue = Integer.parseInt(originalValueString);
        originalValue++;
        String newStr = str.replace(originalValueString, String.valueOf(originalValue));
        log.info("Incremented value: " + newStr);
        vars.put("Str", newStr);
    }
    

演示:

参考文献: