十四、JMeter实战-关联获取token

一、关联获取Token

1、Token是什么?

Token是服务端生成的一串字符串,以作客户端进行请求的一个令牌。

2、Token的作用

  1. 身份验证;
  2. 避免表单重复提交

3、Token和session的区别?

  1. App以及分布式的系统用Token比较多;
  2. session在web服务端用得比较多。

4、Token的特点

  1. 无状态、可扩展:在客户端存储的Token是无状态的,并且能够被扩展。基于这种无状态和不存储Session信息,负载均衡器能够将用户信息从一个服务器传到其他服务器上。
  2. 安全性: 请求中发送token而不再是发送cookie能够防止CSRF(跨站请求伪造)。即使在客户端使用cookie存储token,cookie也仅仅是一个存储机制而不是用于认证。
  3. 有效性:Token具有有效性,Token过期了要重新登录。

5、Token在接口测试中的应用

Token主要来用标识用户是否处于登录状态,有些接口需要登录后才有权限访问的。
在实例讲解之前,先熟悉一下Token的请求过程:


客户端用户登录后,服务器会返回一个token的值,当客户端再次发送请求的时候,在请求头或者body中带上token的值,服务器就会校验这个用户是否处于登录状态。


现在直接去访问接口B,看看什么情况


这里引入一个概念,鉴权: 鉴权(authentication)是指验证用户是否拥有访问系统的权利。

我们常用的鉴权有四种:

  • HTTP Basic Authentication
  • session-cookie
  • Token 验证
  • OAuth(开放授权)

怎么确认系统是通过Token还是cookie保持登录?

  • 直接问开发
  • 自己抓包看一下,请求信息中没有cookie相关的信息,而且在登录的响应看看有没有token的值生成



处理Token的思路:*

--->登录的接口的生成token - 用正则表达式或者JSON提取器把token取出来存放在变量中-
--->系统中的其他接口发送请求的时候在信息头把token带上。

1.首先用正则表达式提取token:

接口的响应



2.正则表达式提取token


3.JSON提取器提取token:


系统中的其他接口发送请求的时候要在请求头带上token,把抓取的token引用到信息头管理器即可,有些系统是把token放在body中的,要灵活应用。
接口B请求成功了

原文地址:https://www.cnblogs.com/wwho/p/14154786.html