SuperAPI AI 工具集

e2e-auth-flow

安全与审计

查看项目

更新于 10-15 22:19

技能介绍

用途:为认证相关功能编写端到端测试,覆盖注册、登录、登出、密码重置和受保护路由,并复用会话状态以避免每个测试重复登录。

主要能力:先识别测试框架(优先 Playwright,或 Cypress)、认证机制(会话 Cookie、localStorage 中的 JWT、httpOnly Cookie 中的 JWT、OAuth/SSO)、令牌存储位置、受保护路由、邮件流程和测试用户策略。核心模式是认证一次并保存状态:Playwright 用 auth.setup.ts 保存 storageState,Cypress 用 cy.loginByApi 通过 API 登录并写入令牌。

测试范围:注册需断言完整副作用链(重定向、数据库记录、验证邮件);登录需验证页面刷新后会话保持;受保护路由需同时测试重定向和登录后返回原地址;登出需用旧会话 Cookie 调用 API 验证服务端会话已失效;密码重置需覆盖有效令牌、过期令牌和令牌复用;JWT 场景需测试访问令牌过期后的静默刷新;必要时测试多标签页并发会话。

使用方式:测试用户应预先播种并复用,注册测试使用唯一邮箱;凭据通过 process.env 或 Cypress.env 读取,不硬编码;测试按注册、登录/会话、受保护路由、账户恢复四个 describe 块组织,认证设置放在独立 setup 文件而非 beforeEach。

限制与注意:不要在每个测试前用 UI 登录,不要只测试重定向而忽略返回 URL,不要信任仅清除客户端状态的登出,不要跳过令牌过期和复用测试,不要使用 page.waitForTimeout,应等待 URL、元素可见性或网络空闲。具体框架版本、依赖安装命令和邮件拦截工具配置暂未提供。