正则匹配
https://www.runoob.com/regexp/regexp-tutorial.html
问题思考
接口测试过程中经常需要接口之间关联调用,比如获取上一个接口的返回值,作为另一个接口的请求参数,那么该如何从处理呢?
这里需要使用 Jmeter 的正则表达式提取器,通过对响应的数据来提取指定的数据。
操作案例
从请求 http-get 响应数据中匹配随机数 num 的值,然后创建请求 get-num 来引用 num 的作为请求参数。
设置步骤:
选中请求——添加——后置处理器——正则表达式提取器
根据 http-get 的响应,提取返回值中的 num 配置如下:
正则表达式配置表:
(1)引用名称:请求要引用的变量名称,如填写:result num ,则可用 ${result num} 引用它。
(2)正则表达式:匹配需要的内容。如:"num": "(.+?)"
(3)模板:用 $num$ 引用起来,如果在正则表达式中有多个匹配数据, num 表示匹配到的第几个值给变量。如:$1$ 表示匹配到的第 1 个值存储在变量中。
(4)匹配数字:0 代表随机取值,1 代表全部取值,
(5)缺省值:如果参数没有取得到值,那默认给一个值让它取。
案例中正则表达式说明
(1) 小括号()括起来的部分就是要提取的。
(2) . 匹配任何字符串。
(3) + 一次或多次。
(4) ?在找到第一个匹配项后停止
正则表达式提取器.png