• Jmeter如何提取响应头部的JSESSIONID


    近期有柠檬班的学生找到华华,问了一个问题,就是利用Jmeter做接口测试的时候,如何提取头部的JSESSIONID然后传递到下一个请求,继续完成当前用户的请求。

    其实,关于这个问题有三种种解决方法:

    1)从响应数据里面提取JSESSIONID,点击链接可以查看https://www.cnblogs.com/liulinghua90/p/5320290.html

    2)如果响应数据里面没有返回JSESSIONID,那么就可以保持cookie,点击链接可以查看:https://www.cnblogs.com/liulinghua90/p/9257552.html

    3)如果响应头里面有这个JSESSIONID,我们可以通过添加cookie来解决这个问题,今天这篇博客,我们重点讲解第三种方法。

    一、测试前准备

    1.测试地址:

    登录:http://XXXX:8080/futureloan/mvc/api/member/login
    充值:http://XXXX:8080/futureloan/mvc/api/member/recharge

    2.参数提取:

    登录的参数:mobilephone、pwd
    充值的参数:mobilephone、amount

    3.测试前场景:

    1:登录之后会随着登录的响应结果产生一个JESSIONID再响应头。
    2:充值请求必须带着JESSSIONID一起发给服务器,才会请求成功。

    4:选用工具:Jmeter

    二、开始测试

    1:打开Jmeter--->添加线程组--->添加HTTP请求--->填入登录请求数据,如下所示:

    2:打开Jmeter--->添加线程组--->再添加HTTP请求--->填入充值请求数据,如下所示:

    3.运行线程组,检查登录的结果以及充值的结果,发现登录成功了如下所示:

    充值未成功,提示如下:

    4.再去检查Jmeter里面登录的响应数据的请求头,如下所示:

    三、利用正则表达式提取响应头部的JSESSIONID

    1:给登录的HTTP请求添加一个正则表达式,从头部提取JSESSIONID,如下所示:

    原本登录返回的JSESSIONID的内容如下:

    Set-Cookie: JSESSIONID=639A471FBECF4E2A20947A0150A2B887; Path=/futureloan
    Set-Cookie: rememberMe=deleteMe; Path=/futureloan; Max-Age=0; Expires=Mon, 02-Jul-2018 02:14:05 GMT

    正则表达式我们写如下格式:

    Set-Cookie: JSESSIONID=(.*); Path=/futureloan

    这样就可以匹配到JSESSIONID啦!

    2:给充值接口添加cookie管理器:

    3:保存好,再次发起请求,得到如下结果:

    4:同时看到充值请求里面带上了原本没有的cookie

    四:总结

    如果我有多个请求,怎么办呢?可以依次给每个请求添加cookie!或者是添加一个总的cookie供所有请求使用。

  • 相关阅读:
    字符统计和滑动窗口
    字典树应用及用哈希表代替
    迷宫里的动态规划应用
    求所有排列中的第 i 个排列的问题
    最大子串和问题
    二分查找、变形及应用
    前 n 个数原址排序的问题
    LeetCode 32 括号匹配
    11.常用的API
    10.正则表达式
  • 原文地址:https://www.cnblogs.com/liulinghua90/p/9257548.html
Copyright © 2020-2023  润新知