@@ -430,13 +430,47 @@ export class SidebarProvider implements vscode.WebviewViewProvider {
430430 }
431431
432432 private async _handleCopyBlueprintPrompt ( platform : string ) : Promise < void > {
433- const commonRules = `要求:
434- 1. 分析源代码中所有可操作 UI 元素(按钮/表单/导航/弹窗)
435- 2. 选择器使用代码中的真实 id(如 #login-btn)或稳定 class,禁止用 div:nth-child(3) 这类脆弱选择器
436- 3. 每个功能页面对应一个场景,覆盖正常流程和异常场景(空表单提交、错误输入)
437- 4. 每个 fill 操作后必须有 assert_text 或 screenshot 验证
438- 5. 每次导航后必须有断言验证页面已正确加载
439- 6. 如果应用需要命令行启动(如 npm start、python app.py),必须填写 start_command 字段;纯HTML静态应用留空
433+ const commonRules = `══════ 测试设计黄金规则(必须严格遵守) ══════
434+
435+ 【规则1:功能全覆盖】
436+ - 先通读全部源代码,列出所有功能点(每个按钮、每个表单、每个Tab、每个弹窗、每个下拉框)
437+ - 每个功能点必须至少有一个测试场景,不能遗漏任何可操作的UI元素
438+ - 自检清单:数一数代码里有多少个按钮/表单/页面,蓝本里是否每个都覆盖到了
439+
440+ 【规则2:操作→断言配对(最核心)】
441+ - 每一个操作(click/fill/select)后面必须跟一个断言(assert_text/assert_visible/screenshot)验证结果
442+ - 错误示范:click登录按钮 → 结束(没验证是否登录成功)
443+ - 正确示范:click登录按钮 → assert_text验证"欢迎回来"或验证用户名显示正确
444+ - 原则:没有断言的操作等于没测
445+
446+ 【规则3:业务流程端到端串联】
447+ - 除了单点功能测试,必须有完整业务流程场景:
448+ 例:注册→登录→浏览商品→加入购物车→填写地址→提交订单→查看订单详情
449+ - 每个流程场景至少串联3个以上页面/功能
450+
451+ 【规则4:状态变化验证】
452+ - 操作前先读取当前状态值,操作后再读取,对比变化是否符合预期
453+ - 例:加入购物车前读购物车数量=0,加入后断言数量=1
454+ - 例:删除商品前列表有3条,删除后断言列表有2条
455+
456+ 【规则5:异常和边界测试】
457+ - 每个表单必须测试:空提交、超长输入、特殊字符、格式错误
458+ - 每个需要权限的操作必须测试:未登录访问、无权限操作
459+ - 验证错误提示消息是否正确显示
460+
461+ 【规则6:弹窗和提示验证】
462+ - 操作后出现的成功提示、错误提示、确认弹窗,必须用断言验证内容
463+ - 例:提交订单后验证"下单成功"提示
464+ - 例:删除操作后验证确认弹窗文字
465+
466+ 【规则7:选择器规范】
467+ - 使用代码中的真实 id(如 #login-btn)或稳定 class
468+ - 禁止用 div:nth-child(3) 这类脆弱选择器
469+ - 必须先阅读源代码确认选择器存在
470+
471+ 【规则8:启动命令】
472+ - 如果应用需要命令行启动(npm start、python app.py),必须填写 start_command 字段
473+ - 纯HTML静态应用留空
440474
441475重要提醒:以后修改代码时,主动审视并更新对应模块的蓝本,无需用户提醒!` ;
442476
0 commit comments