Jmeter如何将上一个请求的结果做为下一个请求的参数——使用正则表达式提取器

正则表达式提取器是一个后置处理器,做用是在请求完成后,从响应数据中截取一部分字符串保存到变量中,以便下一个请求使用,下面咱们就来作一个简单的例子吧正则表达式

1.首先在线程组下添加两个HTTP请求,url

2.添加好两个HTTP请求后,在每一个HTTP请求下添加一个查看结果数线程

3.在第一个HTTP请求下添加正则表达式提取器3d

4.在第一个HTTP请求添加好IP地址,路径,端口号,协议,方法,若是有参数,还须要添加参数,我这里没有参数因此就不添加了blog

5.点击绿色箭头启动,查看第一个HTTP请求完成后的响应数据字符串

6.第一个HTTP请求完成后的响应数据的url是随机变化的,每次HTTP请求完成后的响应数据的url是不一样的,如今须要获取第一个HTTP请求完成后的响应数据的url做为第二个HTTP请求的IP地址,这个时候就须要用到正则表达式提取器,正则表达式提取器是一个后置处理器,做用是在请求完成后,从响应数据中截取一部分字符串保存到变量中,以便下一个请求使用。模板

7.如今编辑正则表达式提取器变量

8.说明:引用

(1)引用名称:做为下一个请求要引用的参数名称,如填写myurl,则可用${myurl}引用它来做为第二个HTTP请求的IP地址请求

 (2)正则表达式用""包起来,如第一个HTTP请求完成后的响应数据{"status":"ok","message":"建立房间成功","data":{"url":"https://www.pp2pp.xyz/room/58ff022f5cd4c32ae9a7f457"}} 咱们只须要URL,因此正则表达式为  "url":"https://(.+?)"

() 表示括起来的部分就是要提取的。

. 表示匹配任何字符串。
+ 表示一次或屡次。
?表示不要太贪婪,在找到第一个匹配项后中止。
(3)模板:用$$引用起来,若是在正则表达式中有多个正则表达式,则能够是$2$,$3$等等,表示解析到的第几个值给myurl。如:$1$表示解析到的第1个值,咱们这里只有一个正则表达式,因此是$1$
(4)匹配数字:0表明随机取值,1表明所有取值,一般状况下填1
(5)缺省值:若是参数没有取获得值,那默认给一个值让它取,一般状况下为空
 
9.如今能够开始编辑第二个HTTP请求,
10.咱们再来点击绿色箭头启动,查看这两个HTTP请求完成后的响应数据,能够看到第二个HTTP请求地址就是第一个HTTP请求的响应数据的URL
 
11.若是是要获取第一个HTTP的响应数据的URL地址的后面数字做为第二个HTTP的参数,作法也是同样的,只是正则表达式不同,
如第一个HTTP请求完成后的响应数据{"status":"ok","message":"建立房间成功","data":{"url":"https://www.pp2pp.xyz/room/58ff022f5cd4c32ae9a7f457"}} 若是咱们只须要URL后面的数字58ff022f5cd4c32ae9a7f457,那么正则表达式为  "url":"https://www.pp2pp.xyz/room/(.+?)"
相关文章
相关标签/搜索