Jmeter课堂笔记之控制器及函数的使用

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011466469/article/details/78429783
网络视频的JMeter学习,实际工作中用到的笔记!

1、Jmeter 正则表达式提取器,提取响应数据作为下一请求的引用参数;
引用名称:取值,一个有意义的名字,作为下一个请求的参数引用,参数引用格式${token}
正则表达式:提取的参数是在(小括号里),.点表示开始查找,+号或者*号,任意次数,?号直到找到为止;(.*?)
模版:$1$$2$......$N$, 找到多个值,就给第几个(.+?)的值给参数名token;
token_g1取$1$的值,token_g2取$2$的值;(如果是数据库sql查询:select concat(domain,'+',po_pwd) as userpass from domain;)
zheng则表达式:(.*)\+(.*),+是关键字,需要转义\+;
匹配数字:0、正整数、-1,
0代表随机,等于就是任意匹配一个值给token
正整数代表,就是给找到第几个的值赋给token
-1就是把找到的所有值,组成一个数组 token_nameNr=N
缺省值: 意思是在表达式没有取到值的时候,就给一个默认值
ps:添加一个DeBug Sampler原件,可以把找到的参数全都打印出来,可以用${}引用;

2、ForEach循环控制器把上一个请求提取的参数,遍历输出:
输入变量前缀:token,是上一个请求的token,
Start index for loop(exclusive):开始循环的编号(不包含,从0开始计数);
End index for loop(inclusive):结束循环的编号(包含);
输出变量名称:out_token,最终引用的参数名称;
Add"_"before number?:如果输入变量前缀没有加下划连接符,就勾选此项;

3、跨线程组调用参数,场景:比如登录只操作一次;获取一次token,在线程组上增加一个setup Thread Group
// 定义一个str类型的变量,储存正则表达式的参数token String token=vars.get("token"); //保存一个变量,property全局变量 props.put("out_token",token);
利用函数助手,_P()函数把输出的变量out_token,设置为环境参数,下一个线程直接请求即可;
${__P(out_token,)}
接下来的可以在下面的线程组中,请求使用这个参数:





猜你喜欢

转载自blog.csdn.net/u011466469/article/details/78429783