SuperAPI AI 工具集

managing-project-customizations

测试与质量

查看项目

更新于 10-16 09:58

技能介绍

用途:这是 WebdriverIO 技能集的项目引导与刷新层。它扫描当前项目、写入参考文件并保持更新,使其他技能无需每次会话重新发现项目细节。适用场景:项目中首次使用 WebdriverIO 技能集;测试或配置发生重大变更后按需刷新;编排会话结束时项目上下文有变化;其他技能报告项目上下文缺失或过期。不适用:仅需编辑单个测试且上下文已是最新;需要测试实现逻辑;仅需测试脚手架。

输出文件:在目标项目的 .webdriverio-skills/ 下写入或更新 project-context.json、project-context.md、custom-rules.md(团队维护的覆盖规则,缺失时按模板创建)、health-recommendations.md。

需捕获的数据:WDIO 配置文件(wdio.conf.*、按环境配置、套件拆分)、reporter 及其输出细节、services 与服务特定行为、编码规范与约定(命名、结构、风格)、lint 规则及测试相关约束、与测试执行和调试相关的 NPM 脚本、自定义功能(自定义命令、API 接口、共享辅助函数)、相关环境变量与开关、服务器/环境目标(本地/开发/预发/生产)。

扫描流程:发现测试相关配置文件;提取 reporter、service、配置细节;发现自定义命令、共享辅助函数和 API 工具;从配置和文档提取环境变量名称(不存储密钥与值);从脚本和配置映射服务器目标及用途;写入结构化与人类可读的上下文文件;运行能力检查并生成建议。

能力检查与建议:始终检查可提升技能效果的功能,如 JSON reporter 支持(便于机器解析结果)、失败工件捕获(在失败钩子中保存 HTML 快照或截图)。若缺失,在 health-recommendations.md 中记录缺失项、重要性及建议实现方向。失败工件参考链接见资料。

更新策略:当 WDIO 配置、reporter、service、脚本、lint 或自定义命令文件变更时视为过期;用户明确请求时刷新;编排器指示项目状态变化时刷新。尽可能只更新变化部分,核心配置变更时全量刷新。

自定义规则支持:团队可通过 custom-rules.md 调整行为,可定义首选选择器与反模式、命名约定、必需的测试钩子/设置模式、环境约束、强制脚本或检查。其他技能应优先读取该文件并视为项目覆盖指导。

下游技能契约:所有 WebdriverIO 技能应先尝试读取 .webdriverio-skills/project-context.* 与 custom-rules.md;在涉及路由/组件上下文时读取 references/website-analysis/<target>/website-analysis.*;将 custom-rules.md 作为团队覆盖指导;缓存过期时请求刷新。目标解析规则:<target> 解析为小写站点主机(来自 URL 或 baseUrl),未知时回退为 unknown-target。

数据安全:绝不存储密钥值(token、密码、凭据);只存储环境变量名与用途说明;在生成的上下文文档中对敏感命令参数脱敏。

常见错误:在参考文件中存储密钥环境值;只更新一次上下文从不刷新;忽略 custom-rules 覆盖;只记录建议而无可行指导。完成标准:上下文文件最新、建议已更新,下游技能无需全量重扫即可加载项目特定行为。