Help us improve
Share bugs, ideas, or general feedback.
From velocitai
Incrementally adds regression test points to an existing PageObject by extracting locators from the live page DOM and appending methods to the page class and corresponding role test flow.
npx claudepluginhub danielsuo117/velocitai --plugin velocitaiHow this skill is triggered — by the user, by Claude, or both
Slash command
/velocitai:add-regression-pointThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
为**已有 PageObject** 新增单个或多个回归测试点。与 `gen-page-test`(新建整个页面)不同,本 skill 针对已存在的页面做**增量扩展**。
Generates PageObject classes and corresponding test cases from real page DOM. Triggered when creating new pages or adding page objects.
Guides creating page objects and refactoring Playwright tests using Page Object Model patterns for maintainability, reusability, and scalability. Covers locators, principles, and TypeScript examples.
Expert approach to page-object-model in test automation. Use when working with .
Share bugs, ideas, or general feedback.
为已有 PageObject 新增单个或多个回归测试点。与 gen-page-test(新建整个页面)不同,本 skill 针对已存在的页面做增量扩展。
| 参数 | 必填 | 说明 | 示例 |
|---|---|---|---|
| 目标 PageObject | 是 | 已有的页面类名 | <ExistingPage> |
| 页面 URL | 是 | 真实可访问的页面 URL(已认证态) | https://example.com/xxx |
| 新增测试点 | 是 | 需要覆盖的交互元素 | 点击收藏、筛选类型 |
使用 agent-browser 以已认证态访问目标 URL,为每个新增测试点按 locator-replacer 六级优先级选定定位符。浏览器工具选型遵循 agent-behavior P0.4:DOM 探索 / 定位符采集用 agent-browser,agent-browser 未安装时降级到 Playwright MCP。
在 pages/<page_name>_page.py 中追加:
2a. 新增定位符常量(插入到已有常量之后、方法之前)
# ↓ 新增定位符(来自真实页面,<日期>)
<NEW_LOCATOR_1> = "<真实定位符>" # P<0-5>: 说明
<NEW_LOCATOR_2> = "<真实定位符>" # P<0-5>: 说明
2b. 新增业务方法(插入到 is_page_loaded() 之前)
def click_<new_method_1>(self):
self.click(self.<NEW_LOCATOR_1>)
def click_<new_method_2>(self):
self.click(self.<NEW_LOCATOR_2>)
def is_page_loaded(self) -> bool: # 保持为最后一个方法
return self.is_visible(self.PAGE_IDENTIFIER)
根据目标 PageObject 的角色:
tests/teacher/test_<feature>.py(当前无主流程用例,新建时继承 <Role>BaseTest)tests/<role>/test_<role>_flow.pytests/<role>/test_<role>_flow.py在对应 @allure.story 方法中追加:
# ↓ 新增回归点
<page_instance>.click_<new_method_1>()
<page_instance>.click_<new_method_2>()
⚠️ 若新增测试点的跳转目标脱离门户布局(例如离开侧边导航的子路由、沉浸式页面),必须套用 case-round-trip:PageObject 提供 click_back_to_<landing>,用例末尾显式返回起点页并断言;否则后续用例复位 fixture 会超时。
docs/通用检查(命名/导入/is_page_loaded/allure)→ coding-conventions.md "新增测试检查清单"
test_<role>_flow.py 已追加新方法调用docs/pages-catalog-<role>.md 已同步docs/regression-points-<role>.md 已同步case-round-trippages/__init__.py(页面类已存在)gen-page-test)