正则表达式提取器是Jmeter关联中的一种,
使用场景:
有两个HTTP请求,请求A的返回数据中有一个字段“ABCD”,该字段要作为请求B的入参。
1、添加方式
请求A上右键-->后置处理器->正则表达式提取器
![正则表达式提取器使用1 - 风雨 - 风雨的博客 正则表达式提取器使用1 - 风雨 - 风雨的博客](http://img0.ph.126.net/pjtDaliQRuBcJrp9pYDyHA==/1287748018469922036.png)
2、提取A请求中的taskCode对应的值
![正则表达式提取器使用1 - 风雨 - 风雨的博客 正则表达式提取器使用1 - 风雨 - 风雨的博客](http://img2.ph.126.net/JV1bzFvkTccQ8SjhkhYQjg==/2600828784825134933.png)
为了获取到上图中圈起来的这个值,要配置正则表达式提取器:
![正则表达式提取器使用1 - 风雨 - 风雨的博客 正则表达式提取器使用1 - 风雨 - 风雨的博客](http://img1.ph.126.net/oQzyUOHnbgj4PAECRU-YOQ==/6632640067326905239.png)
说明:
(1)引用名称:下一个请求要引用的参数名称,如填写Atask,则可用${Atask}引用它。
(2)正则表达式:
():括起来的部分就是要提取的。
.:匹配任何字符串。
+:一次或多次。
?:不要太贪婪,在找到第一个匹配项后停止。
(3)模板:用$$引用起来,如果在正则表达式中有多个正则表达式,则可以是$2$$3$等等,表示解析到的第几个值给title。如:$1$表示解析到的第1个值
(4)匹配数字:0代表随机取值,1代表全部取值,通常情况下填0
(5)缺省值:如果参数没有取得到值,那默认给一个值让它取,我填的Error。
3、获取到的值传入B请求
![正则表达式提取器使用1 - 风雨 - 风雨的博客 正则表达式提取器使用1 - 风雨 - 风雨的博客](http://img1.ph.126.net/ZNUBtEUysOr9XRbRIGtqRQ==/2595199285290933421.png)
看一下请求B是否如预期的一样传入Atask这个值
![正则表达式提取器使用1 - 风雨 - 风雨的博客 正则表达式提取器使用1 - 风雨 - 风雨的博客](http://img1.ph.126.net/vZU4rPdKka5tBWIefXUoyA==/2595762235244354728.png)
引用成功~~
记录一个好用的测试正则表达式的工具:
工具名称:RegexTester
使用方法:
![正则表达式提取器使用1 - 风雨 - 风雨的博客 正则表达式提取器使用1 - 风雨 - 风雨的博客](http://img1.ph.126.net/3r6dF2pzHCB7YPYfSQERzw==/6632582892724857181.png)