zoukankan      html  css  js  c++  java
  • 【转载】Jmeter关联-正则表达式提取器

     
     
     
     
    今天研发同事提供了一个验证token的接口,要验证token的正确性,现在将整个过程做如下记录:
    • 场景:验证token的正确性
    • 原理:首先用户登录成功后,会在Response headers中返回一个token值,以及在响应信息中,返回用户id。验证token时,需要获取这个token值以及用户id作为参数去验证token的正确性,如果正确,则返回TRUE;反之,则返回FALSE。
    • 分析:如果要验证token的正确性,那么第一步就是在登录成功后,去拿对应的值,并把这个值作为参数,放到token的接口中进行传参。
     
    实施如下:
    1.接口:
    • 验证token正确性
      • 地址:http://ip:port/user-center/usertoken/validatetoken
      • 方式:post
      • 参数:*userid:用户id ;*token:当前的token值
    • 用户登录
      • 地址:http://ip:port/user-center/user/json/login
      • 方式:post
      • 参数:*LOGIN:登录名 ;*PASSWORD:密码,通过md5加密之后的密码
    2.实施过程:
      • 第一步:添加第一个http请求:用户登录(此处不多讲)
      •  运行结果如下(在结果中我圈出了在验证token中需要的参数值):
        • 第二步:使用“正则表达式提取器”获取上面的两个值
          • 第三步:添加第二个http请求:验证token
          • 备注:此处的参数化中的值,要与“第二步中的引用名称保持一致”
              •  第四步:运行,并查看结果(大家可以比较一下,此处获取的值与“第一步运行结果”的值是否一致,如果一致,则说明获取成功,如果不一致,则说明在配置中存在问题)
                • 3.问题
                  总结一下在此次实施过程遇到的问题:
                  • 问题一:参数化后,获取token值有误,不能取到值
                            原因:1,“要检查的响应字段”选错,应该选择“信息头(响应信息头)”
                                       2,正则表达式有误,没有加上结束的判断,更改后为“TOKEN: (.+?)sS”或者“TOKEN: (.+?) ”(因为有换行)
                   
                  4.相关知识
                  • 正则
  • 相关阅读:
    使用rdbtools工具来解析redis rdb文件
    Python三十个常见的脚本汇总
    python字节(bytes)
    Centos7安装MySQL8.0
    shell数组等基本用法
    怎么理解分布式、高并发、多线程?
    MySql 5.7.23安装
    Centos7.5基于MySQL5.7的 InnoDB Cluster 多节点高可用集群环境部署记录
    MySQL会发生死锁吗?
    CentOS7利用systemctl添加自定义系统服务
  • 原文地址:https://www.cnblogs.com/glre09/p/9087129.html
Copyright © 2011-2022 走看看