SuperAPI AI 工具集

webapp-testing

测试与质量

查看项目

更新于 10-15 15:45

技能介绍

Web App Testing 关注 Web 应用测试原则,主张「发现并测试一切,不放过任何未测试的路由」。资料围绕运行时脚本、深度审计、测试金字塔、E2E、Playwright、视觉测试、API 测试、测试组织、CI 集成和反模式展开。

一、运行时脚本 资料提供用于自动化浏览器测试的脚本:

  • scripts/playwright_runner.py:基础浏览器测试,用法为 python scripts/playwright_runner.py https://example.com
  • 带截图:python scripts/playwright_runner.py <url> --screenshot
  • 无障碍检查:python scripts/playwright_runner.py <url> --a11y 依赖安装:pip install playwright && playwright install chromium。

二、深度审计方法 采取「发现优先」思路:

  • 路由:扫描 app/、pages/、router 文件
  • API 端点:Grep HTTP 方法
  • 组件:查找组件目录
  • 功能:阅读文档 随后进行系统化测试:先 Map(列出所有路由/API),再 Scan(验证它们有响应),最后 Test(覆盖关键路径)。

三、Web 测试金字塔 从下到上依次是:组件测试(多,单个 UI 部件)、集成测试(部分,API 与数据流)、E2E 测试(少,关键用户流程)。

四、E2E 测试原则 测试内容按优先级排列:1 快乐路径用户流程;2 认证流程;3 关键业务动作;4 错误处理。 最佳实践包括:使用 data-testid 获得稳定选择器;等待元素以避免不稳定测试;保持干净状态让测试相互独立;避免测试实现细节,转而测试用户行为。

五、Playwright 原则 核心概念:Page Object Model 封装页面逻辑;Fixtures 复用测试环境;Assertions 内置自动等待;Trace Viewer 调试失败。 配置建议:重试在 CI 上设为 2;Trace 设为 on-first-retry;截图设为 on-failure;视频设为 retain-on-failure。

六、视觉测试 适用场景价值不同:设计系统与营销页面价值高;组件库价值中等;动态内容价值较低。策略是建立基线截图,变更时比较,审查视觉差异,对有意变更更新基线。

七、API 测试原则 覆盖领域包括:状态码(200、400、404、500);响应结构是否符合 schema;错误信息是否用户友好;边界情况如空值、大体积、特殊字符。

八、测试组织 文件结构建议:tests/ 下分 e2e/(完整用户流程)、integration/(API 与数据)、component/(UI 单元)、fixtures/(共享数据)。命名约定可按功能命名(如 login.spec.ts),也可使用描述性命名(如 user-can-checkout.spec.ts)。

九、CI 集成 流水线步骤:安装依赖、安装浏览器、运行测试、上传产物(trace、截图)。并行策略:按文件并行是 Playwright 默认;大型测试套件可做分片;多浏览器可借助 workers。

十、反模式 不要测试实现,要测试行为;不要硬编码等待,要用自动等待;不要跳过清理,要隔离测试;不要忽略不稳定测试,要解决根因。

最后提醒:E2E 测试成本高昂,应仅用于关键路径。