用途:为 Playwright/TypeScript 项目提供一套强制的三层测试自动化架构,规范测试代码组织方式,避免定位器、业务逻辑与测试数据混杂。
主要能力:
- 三层架构:tests//*.spec.ts 为第一层 Specs,仅做编排;src/steps//.ts 为第二层 Steps,承载业务逻辑且不含定位器;src/pages/**/.ts 为第三层 POM,存放定位器与 UI 交互。
- 依赖注入:src/utils/fixtures/*.ts 负责注入,new PageX() 与 new StepsX() 只允许出现在 fixture 文件中。
- 测试数据 JDD:fixtures/jdd/*.json 外置全部测试数据,区分 entrants(输入)与 sortants(预期),命名格式为 [PRODUCT]-[MODULE]-[NNN].json,禁止在 spec 或 steps 中硬编码字符串。
- 类型化:使用 TypeScript 接口描述 JDD 数据,避免 any。
使用方式(新增或修改测试的工作流): 第一步,探索代码库,阅读现有 fixtures、steps、pages、enums、types 与 conf.json,了解可用导航、组件与约定。 第二步,判断需修改的层:新增 UI 交互改 POM(src/pages/[module]/Page*.ts);新增业务流程改 Steps(src/steps/[module]/Etapes*.ts);新增测试场景改 Spec(tests/[module]/*.spec.ts);新增测试数据改 JDD;新增模块接线改 Fixture(src/utils/fixtures/[module].fixtures.ts)。 第三步,按各层规则实现。 第四步,在模块 fixture 文件中注册新的 pages/steps。 第五步,编写或更新 spec,使用合适的标签、注解与 JDD 导入。 第六步,运行测试、查看 Allure 报告并校验断言。
适用场景:需要长期维护、多人协作的 Playwright 端到端测试项目,尤其是希望统一分层约定、集中管理测试数据与定位器的团队。
限制:资料未提供具体安装命令、依赖版本、运行脚本、CI 配置细节及收费信息;该技能依赖既有项目结构与约定,落地前需先阅读架构指南、代码模式、定位器策略、JDD 与检查清单等参考文档。与 manual-test-designer 技能的集成方式为:后者生成 Xray 兼容 CSV 测试用例,作为本技能搭建自动化测试的输入。