بنقرة واحدة
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)