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供所有请求使用。

原文地址:https://www.cnblogs.com/lemon-huahua/p/9257602.html

时间: 2024-11-06 11:24:00

Jmeter如何提取响应头部的JSESSIONID的相关文章

如何使用JMETER从JSON响应中提取数据

如果你在这里,可能是因为你需要使用JMeter从Json响应中提取变量. 好消息!您正在掌握掌握JMeter Json Extractor的权威指南.作为Rest API测试指南的补充,您将学习掌握Json Path Expressions所需的一切. 我们走吧!并且不要惊慌,那里没有什么困难. Json格式 为了更好地理解Json是什么,这是一个示例Json文档: { "store": { "book": [ { "category": &qu

Jmeter正则提取请求响应数据

前言 在测试时,我们经常需处理请求返回的响应数据,比如很多时候 cookie 或 token 或 Authorization授权码 会返回在 Response headers(响应头)中,这时我们便需要从中进行提取,以供其他接口使用. 今天我们主要学习下,如何在Jmeter中通过正则提取响应数据中 Response headers 的数据. 总的设置界面如下: 发送请求,获取响应数据 首先,设置一个HTTP请求,如下: 接着,设置一个察看结果树,然后执行,得到响应数据,下图中的cookie即我们

jmeter正则表达式提取器--关联

http://desert3.iteye.com/blog/1394934 1.http://www.cnblogs.com/quange/archive/2010/06/11/1756260.html 2.http://blog.csdn.net/zhangren07/archive/2010/10/15/5944158.aspx <input type="hidden" name="hidName" value="(.*)">  

Jmeter 正则表达式提取器详解(Regular Expression Exactor)

Jmeter 正则表达式提取器详解(Regular Expression Exactor) Name(名称):随意设置,最好有业务意义. Comments(注释):随意设置,可以为空 Apply to(应用范围): Main samples and sub-samples:匹配范围包括当前父取样器并覆盖至子取样器. Main samples only:只匹配当前父取样器 Sub-samples only:仅匹配子取样器 Jmeter Variable Name to use:支持对Jemter变

HTTP请求头和响应头部包括的信息有哪些?

每个HTTP请求和响应都会带有相应的头部信息.默认情况下,在发送XHR请求的同时,还会发送下列头部信息: Accept:浏览器能够处理的内容类型 Accept-Charset:浏览器能够显示的字符集 Accept-Encoding:浏览器能够处理的压缩编码 Accept-Language:浏览器当前设置的语言 Connection:浏览器与服务器之间连接的类型 Cookie:当前页面设置的任何Cookie Host:发出请求的页面所在的域 Referer:发出请求的页面的URL User-Age

VS2008 C++ 利用WinHttp API获取Http请求/响应头部Header

http://www.cnblogs.com/LCCRNblog/p/3833472.html 这一篇博客中,实现了获取http请求/响应后的html源码,现在需要获取http请求/响应的头部Header..通过对WinHttp Api的查看,现给出实现代码.. 1 // WinHttpTest.cpp : 定义控制台应用程序的入口点. 2 // 3 //#include <stdafx.h> 4 #include <vector> 5 #include <winsock2.

Jmeter正则表达式提取器的使用方法(转)

下面简单介绍一下Jmeter正则表达式提取器的使用方法. 1.添加Jmeter正则表达式提取器:在具体的Request下添加Jmeter正则表达式提取器(Jmeter正则表达式在“后置处理器”下面)  例1如下: 引用名称: tokenid(自己定义) 正则表达式:<input type="hidden" name="org.apache.struts.taglib.html.TOKEN" value="(.*?)"> 模板:$1$

Jmeter接口之响应断言详解

响应断言 : 对服务器的响应进行断言校验 Apply to 应用范围: main sample and sub sample, main sample only , sub-sample only , jmeter variable 关于应用范围,我们大多数勾选"main sample only" 就足够了,因为我们一个请求,实质上只有一个请求.但是当我们发一个请求时,可以触发多个服务器请求,类似于ajax那种,那么就有main sample 和 sub-sample之分了.此外,对于

Jmeter(三十三)_JsonPath表达式提取响应

我们在用jmeter做接口测试的时候,有的时候会遇到一些复杂的json响应.比如多层list嵌套时的取值 一个简单的例子: $..Name:列出所有省份 $..Province[0].Name 提取Province中第一个list中的Name $..[?(@.Name=='Beijing')] 筛选出省份名为Beijing的所有list数据 $.Province[:2].population 筛选前两条数据 注意:$.Province[:2].population 是筛选出前两条数据 :$.Pr