用途:该技能面向使用 Playwright 编写自动化测试的场景,帮助开发者采用 Page Object Model(POM)模式创建可维护、可复用、可扩展的测试代码,适用于新建页面对象或重构既有测试。
主要能力:
- 核心 POM 原则:单一职责(每个页面对象对应一个页面或组件)、封装(隐藏实现细节,只暴露有意义的动作与断言)、可复用(组件可组合成更大的页面对象)、可维护(UI 变化时只需在一处更新)。
- 基础页面对象:以 LoginPage 为例,在构造函数中定义 Locator,提供 goto、login、getErrorMessage 等方法,并在测试中实例化使用。
- 定位器策略:推荐优先级为用户可见定位器(getByRole、getByText、getByLabel)、测试 ID(getByTestId),CSS/XPath 仅作最后手段;支持定位器链式调用、filter 过滤与 nth 取元素。
- 组件化架构:可复用组件(如 Navigation、Footer、Modal、ConfirmationModal、Table、Form)通过组合或继承构建 BasePage 与具体页面对象。
- App Actions 模式:封装登录、加购、结账等高层业务流程,测试中直接调用。
- 等待策略与动态内容:通过 waitFor 状态、waitForResponse、waitForLoadState 处理加载与刷新;支持列表、搜索过滤等动态内容操作。
使用方式:在 Playwright 项目中按 pages/ 与 components/ 目录组织页面对象与组件,测试文件导入后实例化并调用其方法。示例代码使用 @playwright/test 的 Page、Locator 类型。
限制:资料未提供安装命令、版本要求、收费信息或具体平台支持范围;示例以 TypeScript 为主,其他语言适配情况暂未提供。