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


    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/(.+?)"
     
    到这里就结束啦!
    内容部分有转载,如涉及权益请联系作者哦~
    当然喜欢作者记得  收藏、关注^_^
     
  • 相关阅读:
    K8S学习笔记之k8s使用ceph实现动态持久化存储
    Linux学习笔记之Centos7 自定义systemctl服务脚本
    ELK学习笔记之Kibana权限控制和集群监控
    ELK学习笔记之ELK6.0 X-pack设置用户名和密码
    Linux学习笔记之rsync配置
    K8S学习笔记之Pod的Volume emptyDir和hostPath
    不小心删除了某个包的一部分,重新安装方法
    串口数据解析总结
    CMakeLists 链接库相关指令
    google 开源项目阅读计划
  • 原文地址:https://www.cnblogs.com/Barrybl/p/12593342.html
Copyright © 2020-2023  润新知