jmeter接口测试,处理cookie和token的方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jmeter接口测试,处理cookie和token的方法相关的知识,希望对你有一定的参考价值。

参考技术A cookie 是一个文件,存放在本地,chrome浏览器F12后的Application下可查看cookies。由服务器生成,故Response Headers中会存在Set-Cookie字段。

session 是为了保持服务器与客户端的会话状态,在用户登录后,服务器端生成一个sessionID传给客户端;之后的每次会话,客户端只需要传这个sessionID即可不用重新登录,保持在线状态。故服务器端需要保存所有在线的sessionID,从而影响服务器性能! sessionID是存在cookie中的。

token 是为了解决服务器压力,用户登录成功后,服务器端生产token(钥匙和锁)通过 cookie或请求头的方式 传给客户端,再次请求时带上token即可,无状态(服务端通过算法验证钥匙和锁是否正确)。

总之 ,就是两种鉴权方式,通过sessionID或者token,服务器来判断是否是某用户登录后的其他请求。

其他:

2、一个用户在一次会话(打开浏览器,访问服务器,直到浏览器关闭,称为一次会话,严格的说,一次会话应该是依赖 session 的生成机制)上就是一个session_id。

3、每次登录时,总会产生一个token或者sessionID,生成这个的目的是为了每次操作其他接口的时候,会判断当前用户是否登录。

1)cookie的处理

准备:两个接口:一个登录、一个充值

  登录接口

  充值接口:会失败

 1、添加:HTTPCookie管理器,放到最上面。

2、再次运行:就会充值成功。

登录时会有set_Cookie存在

1、添加后置处理器>>>正则表达式提取器

设置:

2、添加:调试取样器

运行结果:已经拿到cookie

3、添加:右击线程组>>添加>>配置元件>>HTTPCookie管理器

设置:

4、添加:JSESSIONID:$正则表达式提取器提取到的变量名

域:

路径:

5、查看运行结果:

2)token的处理

查询用户信息需要先登录,在查询用户信息的时候需要携带token。

 1、在登录接口下面使用正则表达式提取器获取token

  登录接口响应数据中返回token。

  配置提取器:

 2、添加:调试取样器,运行后查看是否可以获取到

  3、添加HTTP信息头管理器

运用相关资料

Jmeter接口测试实例(参数token)

测试内容简介:
1.get请求,无参数
2.get请求,参数为第一条响应中的id
3.get请求,带token
结构图:
 
 技术分享图片
 
下面进行详解:
一、添加cookie管理器等
    1.添加http cookie管理器,使用默认设置不需修改
    技术分享图片

 

技术分享图片
    2.添加http请求默认值,填写名称(如www.baidu.com)、端口号(80)、协议(http)
    技术分享图片
 
 
  3.获取token
  token在登录接口返回的信息中,所以发送一个登录请求并从返回信息中提取所需要的token
    3.1 使用的是外部文件进行参数化登录(如不明白请参照上一篇文章),也可直接输入手机号及密码
     技术分享图片

 

 
    3.2 添加正则表达式提取器(填写格式请百度)
    技术分享图片

 

 
    3.3 添加响应断言,判断响应信息中是否含token
    技术分享图片

 

 
二、接口测试
  1. 添加不含http请求,填写协议、方法、路径及参数
  技术分享图片

 

 
  2.添加响应断言,在http请求下添加响应断言,检测响应信息是否与期望保持一致(响应内容均不一致,此内容自行根据开发给的返回进行填写,支持正则)
 
 
  技术分享图片

 

(重复内容不予讲解,略过http下添加正则表达式提取)

  3.含参数http请求,添加上一请求中提取出的id
  技术分享图片

 

 
  4.添加带token的http请求,在请求下添加了【http信息头管理器】,添加token
  技术分享图片

 

 
  5.添加监听器
 
PS:很少用jmeter,此文只起讲解记录作用,如有错误不当的地方欢迎指出,最后附上测试成功图(如果token提取到了但无法验证成功也就是我的订单http请求返回信息为未登录时,请抓包查看自己填写的参数信息是否有误):
技术分享图片

 

 

以上是关于jmeter接口测试,处理cookie和token的方法的主要内容,如果未能解决你的问题,请参考以下文章

jmeter性能测试

Jmeter跨线程组传递token失败

Jmeter接口测试实例(参数token)

JMeter接口测试示例——添加Cookie

Jmeter接口测试:带参数带token

postman之cookie和token操作