token和cookie的区别以及接口测试怎么找接口中的token和cookie

token和cookie是什么?

token和cookie是用于身份验证和会话管理的两种技术。token是一种授权用户对特定资源访问的临时凭证,通常用于API身份验证、移动设备认证和单点登录等场景,而cookie是存储在客户端浏览器中的小型文本文件,通常用于跟踪用户在网站上的活动并提供个性化服务。token通常更安全,因为它是加密的,而cookie是明文的。然而,token的有效期通常很短,需要频繁刷新,而cookie的有效期可以很长。两者各有优缺点,适用于不同的场景。

token是什么?

token,即令牌,是一种临时凭证,用于授权用户对特定资源的访问。token通常由字母、数字和特殊字符组成的字符串,由服务器生成并发送给客户端。客户端收到token后,将其存储在本地(通常在浏览器中)或发送到服务器。当用户再次访问该资源时,服务器会检查token的有效性,如果token有效,则允许用户访问该资源,否则拒绝访问。token通常用于API身份验证、移动设备认证以及单点登录等场景。

cookie是什么?

cookie,即网络追踪器,是存储在客户端浏览器中的小型文本文件。当用户访问一个网站时,服务器会将cookie发送到用户的浏览器,浏览器会将cookie存储在本地。当用户再次访问该网站时,浏览器会将cookie发送回服务器,服务器根据cookie来识别用户并提供个性化的服务。cookie通常用于用户身份认证、会话跟踪、广告投放以及网站分析等场景。

1、接口测试如何寻找tooken和cookie

按下F12快捷键,Network-选中接口-Request Headers
在这里插入图片描述
继续选择Cookies可以查看更详细的cookie信息
在这里插入图片描述

在JMeter中进行接口测试时,如果`token`在响应头(Response Headers)中返回,而`cookie`通常由JMeter自动管理(通过`HTTP Cookie管理器`),可以通过以下步骤获取并传递`token``cookie`: --- ### **1. 获取Token(从响应头中提取)** #### **步骤**: 1. **添加HTTP请求采样器**: 配置登录接口的请求(如POST `/api/login`),发送用户名密码。 2. **添加正则表达式提取器**: 在登录请求下添加`正则表达式提取器`,从响应头中提取`token`。 - **配置示例**: - **Apply to**: `Main sample only` - **Field to check**: `Response Headers` - **Reference Name**: `token`(变量名) - **Regular Expression**: `token: (.+?)`(根据实际响应头调整) - **Template**: `$1$` - **Match No.**: `1` > **示例响应头**: > ``` > HTTP/1.1 200 OK > Content-Type: application/json > token: abc123xyz > ``` > 正则表达式需匹配`token: (.+?)`,提取值`abc123xyz`。 3. **调试提取结果**: 添加`Debug Sampler``查看结果树`,检查`${token}`是否正确提取。 --- ### **2. 管理Cookie(自动处理)** - **添加HTTP Cookie管理器**: 在测试计划或线程组下添加`HTTP Cookie管理器`,JMeter会自动存储传递`cookie`,无需手动提取。 --- ### **3. 在后续请求中传递TokenCookie** #### **传递Token**: - **方式1:HTTP头管理器** 在需要`token`的请求下添加`HTTP头管理器`,配置: - **Name**: `Authorization` - **Value**: `Bearer ${token}` - **方式2:直接修改请求头** 如果接口要求`token`放在其他头字段(如`X-Auth-Token`),修改对应的键值对即可。 #### **传递Cookie**: `HTTP Cookie管理器`会自动处理,无需额外配置。 --- ### **4. 完整示例配置** #### **测试计划结构**: ``` 测试计划 ├── HTTP Cookie管理器 └── 线程组 ├── HTTP请求(登录接口) │ └── 正则表达式提取器(提取token) ├── HTTP请求(需要token接口) │ └── HTTP头管理器(传递token) └── 调试组件(Debug Sampler + 查看结果树) ``` #### **登录请求配置**: - **协议**: `http` - **服务器名称或IP**: `example.com` - **方法**: `POST` - **路径**: `/api/login` - **Body Data**: ```json {"username": "test", "password": "123456"} ``` #### **正则表达式提取器配置**: - **Reference Name**: `token` - **Regular Expression**: `token: (.+?)` - **Match No.**: `1` #### **需要token的请求配置**: - **HTTP头管理器**: - **Name**: `Authorization` - **Value**: `Bearer ${token}` --- ### **5. 验证结果** 1. 运行测试计划,通过`查看结果树`检查: - 登录请求的响应头是否包含`token`。 - 后续请求是否成功携带`token``cookie`。 2. 如果`token`未生效,检查正则表达式是否匹配,或改用`JSON提取器`(如果响应体中返回`token`)。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值