<< All versions

Skill v1.0.0

currentAutomated scan100/100
danielsuo117/velocitai/add-regression-point
──Details
PublishedOctober 23, 2026 at 10:16 PM
Content Hashsha256:279d6a871cb9d17d...
Git SHAdfcca7e83572
──Files
Files (1 file, 3.9 KB)
SKILL.md3.9 KBactive
SKILL.md · 99 lines · 3.9 KB

version: "1.0.0" name: add-regression-point description: 为已有 PageObject 增量添加回归测试点。触发:新增测试点、添加回归点、add test point、增加覆盖、扩展页面方法。


Add Regression Point — 新增回归测试点

适用场景

为已有 PageObject 新增单个或多个回归测试点。与 gen-page-test(新建整个页面)不同,本 skill 针对已存在的页面做增量扩展。

输入参数

参数必填说明示例
目标 PageObject是已有的页面类名<ExistingPage>
页面 URL是真实可访问的页面 URL(已认证态)https://example.com/xxx
新增测试点是需要覆盖的交互元素点击收藏、筛选类型

执行流程(4 步)

Step 1:访问真实页面抽取新元素定位符

使用 agent-browser 以已认证态访问目标 URL,为每个新增测试点按 locator-replacer 六级优先级选定定位符。浏览器工具选型遵循 agent-behavior P0.4:DOM 探索 / 定位符采集用 agent-browser,agent-browser 未安装时降级到 Playwright MCP。

Step 2:更新 PageObject

在 pages/<page_name>_page.py 中追加:

2a. 新增定位符常量(插入到已有常量之后、方法之前)

python
# ↓ 新增定位符(来自真实页面,<日期>)
<NEW_LOCATOR_1> = "<真实定位符>" # P<0-5>: 说明
<NEW_LOCATOR_2> = "<真实定位符>" # P<0-5>: 说明

2b. 新增业务方法(插入到 is_page_loaded() 之前)

python
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)

Step 3:在对应角色回归测试中追加调用

根据目标 PageObject 的角色:

  • 对应角色页面 → tests/teacher/test_<feature>.py(当前无主流程用例,新建时继承 <Role>BaseTest)
  • 对应角色页面 → tests/<role>/test_<role>_flow.py
  • 对应角色 → tests/<role>/test_<role>_flow.py

在对应 @allure.story 方法中追加:

python
# ↓ 新增回归点
<page_instance>.click_<new_method_1>()
<page_instance>.click_<new_method_2>()

⚠️ 若新增测试点的跳转目标脱离门户布局(例如离开侧边导航的子路由、沉浸式页面),必须套用 case-round-trip:PageObject 提供 click_back_to_<landing>,用例末尾显式返回起点页并断言;否则后续用例复位 fixture 会超时。

Step 4:同步更新 docs/

  • 在对应角色的 pages-catalog 子文件中追加新方法行:
  • 对应角色 → pages-catalog.md
  • (同上)
  • 在对应角色的 regression-points 子文件中追加回归点行 + 关键定位符常量:
  • 对应角色 → regression-points.md

检查清单

通用检查(命名/导入/is_page_loaded/allure)→ coding-conventions.md "新增测试检查清单"

  • [ ] 新增定位符均来自真实页面 DOM,行尾标注 P0~P5 级别
  • [ ] 对应角色 test_<role>_flow.py 已追加新方法调用
  • [ ] 对应角色的 docs/pages-catalog-<role>.md 已同步
  • [ ] 对应角色的 docs/regression-points-<role>.md 已同步
  • [ ] 若跳转目标脱离门户布局,已套用 case-round-trip

注意事项

  • 不要修改已有方法,只做增量添加
  • 不需要更新 pages/__init__.py(页面类已存在)
  • 如果新增测试点需要页面导航(跳转到子页面),考虑新建独立 PageObject(使用 gen-page-test)
  • 定位符直接基于真实页面抽取,不使用占位符
All versions