ワンクリックで
add-regression-point
为已有 PageObject 增量添加回归测试点。触发:新增测试点、添加回归点、add test point、增加覆盖、扩展页面方法。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
为已有 PageObject 增量添加回归测试点。触发:新增测试点、添加回归点、add test point、增加覆盖、扩展页面方法。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Incrementally add regression test points to an existing PageObject. Trigger: add test point, add regression point, add test point, increase coverage, extend page methods.
POM layering and context sharing decision tree. Trigger: architecture, layering, POM, Page Object, base class design, add new role.
Browser viewport / headless / timeout layered configuration. Trigger: viewport, browser config, navigation timeout, headless, slow_mo, incognito.
Under a shared page, a test case that leaves the start page must return via the UI and assert. Trigger: round-trip closure, case round trip, reset timeout, scope shared page.
AST knowledge graph: change review, exploration, debugging, refactoring. Trigger: knowledge graph, code review, impact analysis, blast radius, refactoring.
One-click generation of PageObject + matching tests. Trigger: new page, generate page, gen page, create page, add page object.
| name | add-regression-point |
| description | 为已有 PageObject 增量添加回归测试点。触发:新增测试点、添加回归点、add test point、增加覆盖、扩展页面方法。 |
为已有 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)