zoukankan      html  css  js  c++  java
  • 如何实现从登录接口响应数据中提取JSESSIONID

      通过调用接口,对服务器产生压力,单接口测试,会遇到响应数据返回的是要求先登录。这是我们在调用这个接口时,根据业务逻辑,必须先登录才可以,比如:提交订单,那么就需要先获取用户登录的JSESSIONID,然后再把该JSESSIONID作为提交订单接口的请求头信息。

    下面详细介绍下,在jmeter上如何实现提取登录JSESSIONID。有两种方法:

    方法一、用正则表达式提取器从登录的响应数据中提取JSESSIONID,然后在需要携带JSESSIONID的请求下面添加http cookie管理器,把提取到的JSESSIONID参数化进来

    1、首先在登录请求下添加后置处理器--正则表达式提取器,根据具体的响应数据,写正则表达式去提取。

     提取到的结果是否正确,添加Debug PostProcessor,去调试。

    正则表达式提取器页面解释:

    引用名称,就是后面要实际引用到的名称,可以自己定义。

    正则表达式的写法,其中

    . 表示匹配任意字符串

    * 表示匹配任意多次

    ? 表示找到匹配项就停止

    模板,就是上面的正则表达式中想要提取哪个内容(可能会有多个正则表达式),$1$表示提取第一个括号里的内容。

    匹配数字,就是匹配到的第几项,0代表随机,-1代表匹配到的全部项,1代表匹配到的第一项,2代表匹配到的第二项,以此类推

    2、在具体需要携带JSESSIONID的请求下面添加“HTTP Cookie 管理器”,然后把从登录中获取到的JSESSIONID参数化进来。如图:

     这样就可以成功的发送短信了,不会再出现先登录的情况了。

    方法二、不用提取器提取JSESSIONID,直接在线程组下面添加 HTTP Cookie 管理器,但是需要在配置文件中把相关的那段代码取消注释,让其起作用。

    1、首先在配置文件中(jmeter.properties),把下面这句代码的注释去掉,保存文件,重启jmeter.(注:jmeter的配置文件在jmeter安装路径下的bin文件夹下)

    2、在线程组下面,添加配置元件-http cookie管理器,就可实现。

  • 相关阅读:
    Linux菜鸟起飞之路【三】Linux常用命令
    Linux菜鸟起飞之路【二】Linux基本常识
    Linux菜鸟起飞之路【一】基本知识与Linux的安装
    交换机和路由器区别
    netdom join more ou
    keepalive.conf配置模板
    mysql7.7.22 Gtid主从搭建
    python 列表处理
    python openpyxl模块使用
    mysql5.7
  • 原文地址:https://www.cnblogs.com/jane4321/p/11859351.html
Copyright © 2011-2022 走看看