Javascript 从HTTP采样器对Beanshell后处理器的响应中获取变量值
在HTTP采样器中,我有一个javascript变量Javascript 从HTTP采样器对Beanshell后处理器的响应中获取变量值,javascript,jmeter,Javascript,Jmeter,在HTTP采样器中,我有一个javascript变量 int a=1; 我想在BeanShell后处理器中获取此“a”的值,如何在JMeter中获取它?添加正则表达式提取器作为后处理器的最简单方法 Regular Expression: int a=(\w+); Template: $1$ Match No.: 1 对于Beanshell或更好的JSR 223后处理器,您必须努力获得正则表达式: import java.util.regex.Matcher; import java.util
int a=1;
我想在BeanShell后处理器中获取此“a”的值,如何在JMeter中获取它?添加正则表达式提取器作为后处理器的最简单方法
Regular Expression: int a=(\w+);
Template: $1$
Match No.: 1
对于Beanshell或更好的JSR 223后处理器,您必须努力获得正则表达式:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
String stringToSearch=prev.getResponseDataAsString();
Pattern p = Pattern.compile("int a=(\\w+)");
Matcher m = p.matcher(stringToSearch);
if (m.find()){
vars.put("a", m.group(1));
}
在这个脚本中,我将向变量a添加值,稍后可以称为${a}请注意,因此我建议改为使用。相关的Groovy代码如下所示:
def text = prev.getResponseDataAsString()
log.info('Response text is' + text)
def match = text =~ /int a=(\d+)/
if (match.find()) {
def value = match.group(1)
log.info('------------------')
log.info('a value=' + value)
vars.put('a', value)
}
演示:
参考资料: