当前位置: 首页 > article >正文

经典问题——华测

1、没有 token 的情况下,接口的自动化测试可以通过哪些方式处理?

  1. 确认接口是否有其他认证机制:
  • 如果使用的是 Basic Auth、Session ID 等传统方式,可以在请求中直接传递相关认证信息(如用户名和密码、Cookie 等)。
  1. 如果接口没有任何认证机制:
  • 确认测试环境是否可以直接访问接口。没有认证可能是因为项目运行在封闭的内网环境,安全性依赖于网络隔离。如果如此,可以直接进行接口调用。
  1. 模拟真实请求:
  • 通过抓包工具(如 Fiddler、Wireshark、Postman)确认接口调用的请求头和参数,并在自动化测试中复现这些请求。
  1. 利用固定的测试账户:
  • 若接口允许用测试账户登录,则在自动化测试中以此账户的固定凭据来发送请求。
  1. 加强环境隔离:
  • 如果生产环境对安全性有要求,建议限制测试脚本的调用权限,只允许在测试环境中使用。
  1. 自动化工具选择:
  • 使用合适的自动化测试工具(如 JMeter、Rest Assured、Postman Collection Runner 等)模拟请求并验证响应。

无 token 的情况下,确保接口调用的认证机制(如果存在)正确实现即可;若没有认证机制,则重点在于验证功能逻辑而非安全性。

2、什么是 Token?

Token 是一种认证凭证,用于在客户端和服务器之间进行身份验证。它通常是一串加密的字符串,由服务器生成并返回给客户端,客户端在后续请求中携带 Token,服务器通过验证 Token 来判断请求的合法性。

Token 的主要功能:

  1. 身份验证:确认请求者的身份。
  2. 权限验证:确认请求者是否有权限访问指定资源。
  3. 防止重复登录:避免频繁验证用户名和密码。

Token 的典型内容:

内容部分描述
用户身份信息可能包括用户 ID、用户名等,用于标识用户身份。
签发时间Token 的生成时间,用于判断是否过期。
过期时间Token 的有效期,超过该时间后需要重新登录或刷新 Token。
权限信息描述用户的角色或权限范围,用于控制资源访问。
随机数/唯一标识符防止 Token 被重放攻击(Replay Attack)。
签名信息使用服务器密钥签名,确保 Token 内容未被篡改,可以通过加密算法(如 HMAC、RSA)验证真实性。

Token 的常见类型:

类型特点
JWT(JSON Web Token)一种标准化的 Token,基于 JSON 格式,包含 Header、Payload 和 Signature 三部分,支持跨语言验证。
Opaque Token不透明的 Token,通常是随机字符串,所有验证和信息存储在服务器端。
OAuth Token用于授权协议(如 OAuth2)的 Token,可以分为访问令牌(Access Token)和刷新令牌(Refresh Token)。

凡是过去,皆为序章;凡是未来,皆有可期。


http://www.kler.cn/a/456174.html

相关文章:

  • Web开发:ORM框架之使用Freesql的分表分页写法
  • 爬虫数据存储:Redis、MySQL 与 MongoDB 的对比与实践
  • MapReduce工作流程+Shuffle机制
  • NI GPIB设备的GPIB Analyzer功能
  • C#WPF基础介绍/第一个WPF程序
  • JVM学习-内存结构(一)
  • OpenCV相机标定与3D重建(37)计算两幅图像之间单应性矩阵(Homography Matrix)的函数findHomography()的使用
  • 【Unity3D】ECS入门学习(十一)ComponentSystem、JobComponentSystem
  • information_schema是什么?
  • Python小括号( )、中括号[ ]和大括号{}代表什么
  • 仓颉语言实战——2.名字、作用域、变量、修饰符
  • 在C#中实现事件的订阅和解除订阅
  • C++ OCR 文字识别
  • Redis——数据淘汰策略
  • 关于启动vue项目,出现:Error [ERR_MODULE_NOT_FOUND]: Cannot find module ‘xxx‘此类错误
  • Java与SQL Server数据库连接的实践与要点
  • web服务器之云主机、物理机租用、服务器托管的区别
  • sql server index
  • SQL 实战:字符串处理函数 – 数据清洗与文本格式化
  • CSS系列(41)-- Logical Properties详解
  • 数据结构课程设计/校园导游程序及通信线路设计 #3
  • 银河麒麟操作系统安装达梦数据库(超详细)
  • 路径规划之启发式算法之二十四:爬山算法(Hill Climbing Algorithm,HCA)
  • 《揭秘Mask R-CNN:开启智能视觉新征程》
  • FreeRTOS实战——一、基于HAL库项目的FreeRTOS移植步骤
  • [江科大编程技巧] 第1期 定时器实现非阻塞式程序 按键控制LED闪烁模式——笔记