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


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

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

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

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

    4.在第一个HTTP请求添加好IP地址,路径,端口号,协议,方法,如果有参数,还需要添加参数,我这里没有参数所以就不添加了

    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/(.+?)"
     
  • 相关阅读:
    NLP 基础问题及解析
    linux 命令精简
    linux 文件属性及操作
    linux 文件编辑命令vim
    NLP attention 简述
    数据结构
    2020 走进新时代
    条件随机场CRF 摘要
    linux的jdk、tomcat、tomcat安装等
    VMware所在磁盘满了、linux中date修改、ssh、eclipse的使用问题等
  • 原文地址:https://www.cnblogs.com/Barrybl/p/12808507.html
Copyright © 2020-2023  润新知