单线程上下文传递:
1 2 3 4 5 6 7
| //在脚本中 vars.put("value", value) vars.get("value") //在非脚本中使用 ${value} //其他 vars.putObject("key", new Object())
|
多线程上下文传递(上一篇中参考地址中涉及到了):
1 2 3 4 5 6 7 8
| //在脚本中 props.put("value", value) props.get("value") //在非脚本中使用 ${value} //其他 vars.putObject("key", new Object()) //vars 和props都是变量,均有如下方法
|
https://jmeter.apache.org/api/org/apache/jmeter/threads/JMeterVariables.html
json提取器返回数组
1 2 3 4 5 6 7 8
| names of variables: content Match No: -1 JSON Path: $.data.content[*].id
content_1=2926567 content_2=2926572 content_ALL=2926567,2926572 content_matchNr=2
|
json提取器返回数组引用
1 2 3 4
| //添加计数器 Maxinum value: ${content_matchNr} //引用 ${__V(content_${num},)}
|
JSR223中获取请求返回
1 2 3 4 5 6 7 8 9 10
| import groovy.json.JsonOutput; import org.apache.commons.lang3.StringEscapeUtils;
def data = prev.getResponseDataAsString();
def json = JsonOutput.prettyPrint(data);
def ret = StringEscapeUtils.unescapeJava(json);
prev.setResponseData(ret, "UTF-8");
|
prev变量
https://jmeter.apache.org/api/org/apache/jmeter/samplers/SampleResult.html
beanshell拿线程数
1 2 3 4
| String threadinfo = "${__BeanShell(ctx.getThread().getThreadName())}"; String[] ll = threadinfo.split("-"); vars.put("threadNo", ll[1]);
|