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);
提前致谢
如果您需要:
- 提取这个
66
- 增加到
67
- 替换原来的值所以
BaseDS66
变成BaseDS67
并将值存储到 ${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);
}
演示:
参考文献:
我正在尝试增加一个字母数字字符串并将其传递给 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);
提前致谢
如果您需要:
- 提取这个
66
- 增加到
67
- 替换原来的值所以
BaseDS66
变成BaseDS67
并将值存储到
${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); }
演示:
参考文献: