SuperAPI AI 工具集

bagisto-playwright-testing

测试与质量

查看项目

更新于 10-15 17:24

技能介绍

该技能用于在 Bagisto 中编写、修改或调试端到端测试,重点是在动手写 spec 之前先弄清被测功能、已有覆盖范围和浏览器能验证的行为。工作流程按阶段推进:调研功能与规则、梳理架构归属、设计场景与数据及定位器、实现、分类失败原因、验证并过质量门。核心原则包括以有意义的行为覆盖为目标而非测试数量,测试必须能失败才有价值,先分类失败再改动,不依赖其他测试建立的状态。

架构方面,Admin、Shop、Installer 三个独立 Playwright 项目各自位于 packages/Webkul/{Admin,Shop,Installer}/tests/e2e-pw/,各含 playwright.config.ts、setup.ts、pages/、tests/、utils/ 和 data/;根级 tests/e2e-pw/helpers/ 为无依赖共享层,通过 @shared/* 导入,不得引入 @playwright/test、dotenv 等第三方包;三个套件不共享页面对象、fixture 和 spec,也不跨包导入。

运行需进入对应包目录:cd packages/Webkul/Admin,然后 npm install && npm run install:browsers,再 npm run test:e2e;可用 npm run test:e2e -- tests/catalog/categories.spec.ts -g "create a category" 指定用例,npm run typecheck 做类型检查。还有 test:e2e:headed、:ui、:debug、:report 等脚本。Admin 与 Shop 需要已安装并填充数据的运行中应用,Installer 需要未安装的应用。

限制包括:套件共用同一数据库且不回滚,断言需限定到自建记录;测试需自建状态并只删除自建内容;测试可独立运行,不假设其他测试已执行;Admin 认证由 adminPage fixture 缓存到 .state/admin-auth.json,不在 spec 中手工登录;前端改动后需重建资源;不得同时对同一数据库运行 Pest 和 Playwright;tests/e2e-pw/ 下不写任何注释;测试数据在 beforeEach 内生成;涉及时间、时区、可用性、今日过期等场景先按时间时区文档调查;文件名小写中划线,类文件与类名一致;spec 负责意图与流程,页面对象持有全部定位器并通过具名 expect 方法断言。资料中未提供更详细的价格或平台信息。