正则表达式的用处很多,最基础的用法就是:1、断言 2、传参(关联)
Field to check:要检查的响应报文的范围
1、主体:响应报文的主体,最常用
2、Body(unescaped):主体,是替换了所有的html转义符的响应主体内容,注意html转义符处理时不考虑上下文,因此可能有不正确的转换,不太建议使用
3、Body as a Document:从不同类型的文件中提取文本,注意这个选项比较影响性能
4、Response Headers:响应信息头(如果你使用的是中文版的Jmeter,会看到这一项是信息头,这是中文翻译问题,应以英文为准)
5、Request Headers:请求信息头
6、URL:请求url
7、Response Code:响应状态码,比如200、404等
8、Response Message:响应信息
***可以看出,这里已经提供了各种场景下的提取功能,非常全面!
关于这几个选项:
1、引用名称:就是变量名,调用使用{name}
2、正则表达式:()括号里面表示你要的数值
3、模板:$$表示你要是用那个正则表达式那个模板获取的值 -1全部,0随机 1第一个 2第二个;如果只有一个正则一般就填写1
4、匹配数字:-1表示全部 0随机 1第一个 2第二个
5、缺省值:这个如果没有匹配到,给它定义的一个默认值
注:匹配数字的权限高于$0$随机,如果$0$匹配数字1,那么每次取值都是固定的
1、先来区别一下模板:
2、区别一下匹配数字:
如果想在请求接口响应信息里面提取数据,就在该请求就扣下方添加正则表达式提取器(二级)
如果我们提取的结果是一个数组,我们就要用逻辑控制器-forEach控制器进行数组的循环控制,逐一打印出所有的关联值
参数:
Input Variable Prefix:输入变量前缀,本例中为:inputVar
Output variable name:输出变量名称,提供给其它控件引用
Start index for loop(exclusive):循环开始的索引(默认从0开始,如果填写是2,实际是从2+1个开始执行)
End index for loop(inclusive):循环结束的索引(默认从0开始,如果填写是2,实际是从2+1个开始执行)
Add””before number:输入变量名称中是否使用“”进行间隔。