Jmeter如何保持cookie,让所有请求都能用同一个cookie,免去提取JSESSIONID

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

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

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

2)如果响应数据里面没有返回JSESSIONID,那么就可以保持cookie,今天这篇博客,我们重点讲解第这种方法。

3)如果响应头里面有这个JSESSIONID,我们可以通过添加cookie来解决这个问题,点击链接可以查看:https://www.cnblogs.com/liulinghua90/p/9257548.html

 

一、测试前准备

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里面登录的响应数据的请求头,如下所示:

 

三、添加COOKIE并保持cookie

1:在线程组下面添加一个cookie管理器,如下所示:

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

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

 

四:总结

 解决这个问题的关键是:1)要知道cookie session jessionid的作用是什么

                                         2)怎么提取这些关键信息并保持

                                          3)学会利用正则表达式

 

posted @ 2018-07-03 11:13  华妹坨  阅读(774)  评论(3编辑  收藏  举报