Appearance
录制测试
录制是 CueCast 的核心入口。用户在真实页面中操作,扩展会采集步骤并同步到平台。
录制质量会直接影响后续回放稳定性。建议把录制当成“沉淀测试资产”,而不是一次性的操作回放。
支持的操作
当前主要支持:
- 点击
- 输入
- 复选框勾选/取消
- 下拉选择
- 悬浮
- 文本断言
- JSON 断言
- AI 自然语言步骤
- 切换标签页
- 保存页面值为变量
不同操作会保存不同数据。点击和输入会保存目标定位信息,断言会保存期望值,AI 自然语言步骤会保存自然语言指令。
录制建议
- 从稳定的起始 URL 开始。
- 每条用例只覆盖一条清晰路径。
- 操作时等待页面状态稳定后再进行下一步。
- 对关键结果添加断言。
- 避免录制临时调试操作。
录制模式
用例详情页通常会出现两类录制入口:
- 全新录制:适合从头创建用例,或确认要覆盖原有步骤。
- 追加录制:适合页面改版后只补充某一段流程,或在已有步骤之间插入新操作。
如果当前用例已有步骤,全新录制会覆盖旧步骤。执行前请确认旧步骤是否还需要保留。
从这里开始录制
当某条用例已经录制完成,但中间某一步之后需要补充操作时,可以在步骤列表中选择「从这里开始录制」。
弹窗会询问:录制前是否执行前面的步骤。
| 选择 | 说明 | 适用场景 |
|---|---|---|
| 是 | CueCast 会先回放当前步骤之前的步骤,再进入继续录制状态。新录制步骤会插入到当前步骤之后,且不会覆盖现有步骤。 | 需要恢复正确页面上下文,例如先进入详情页、打开弹窗、选择某个 tab 后再补录。 |
| 否 | 直接从当前起始页进入录制,不自动执行前置步骤。 | 页面已经手动准备到目标状态,或前置步骤会产生创建、提交、删除等副作用。 |
如果选择执行前置步骤,录制结束后点击「完成录制并关闭」,CueCast 会关闭本次为继续录制打开的浏览器窗口。
录制面板中的辅助操作
录制时扩展面板提供几个常用辅助能力:
- 暂停录制:临时忽略页面操作,适合手动准备页面状态。
- 保存变量:从页面元素抽取文本或值,保存为后续步骤可引用的数据变量。
- 添加断言:录制时选择页面元素并设置断言,适合在关键结果出现时立即沉淀验证点。
录制面板自身的弹窗、按钮和配置操作不会作为业务步骤保存到用例中。
密码与敏感输入
录制 password 类型输入框(或 name/id 含 password 的字段)时,步骤会标记为脱敏,保存到服务器后加密存储;中台步骤列表与编辑框不显示明文。
若需修改密码:在用例详情中打开该步骤,重新输入新密码并保存。界面会提示:此密码已加密存储,若忘记密码请重新输入新密码并保存。
回放时扩展通过授权接口获取解密后的值并填入页面。请使用测试环境专用密码,请勿录入生产环境真实凭据。
步骤维护
录制完成后,可以在用例详情页继续维护步骤:
- 编辑步骤名称、等待时间、输入值或断言值。
- 为输入步骤设置固定值、随机字符串、随机数字、时间戳或前缀加时间戳。
- 对密码类输入值使用敏感值保存,避免界面展示明文。
- 拖拽调整步骤顺序。
- 复制单个步骤或批量复制步骤。
- 在当前用例或其他用例中粘贴步骤。
- 删除不必要的步骤。
- 使用撤销恢复上一步编辑。
这些能力适合处理页面小改版。只有当业务路径整体变化时,才建议重新录制整条用例。
更多字段说明见 步骤配置。如果需要用自然语言描述复杂操作,可参考 智能步骤。
多标签页录制
如果业务操作会打开新标签页,CueCast 会接管由当前录制页派生的新 tab,并在用户第一次进入该 tab 操作时自动插入「切换标签页」步骤。
当前支持的典型场景:
- 点击
target="_blank"链接打开新 tab。 - 页面通过
window.open打开新 tab。 - 在新 tab 操作后切回原 tab 继续录制。
- 新 tab 完成业务后关闭,再回到原 tab 继续录制。
录制时,CueCast 会为当前用例维护 tab 上下文:
text
tab #0:起始页
tab #1:由 tab #0 打开的新标签页
tab #2:后续打开的新标签页保存后的用例步骤中会出现「切换标签页」。该步骤用于回放时切换到对应 tab,不需要手动录制。
当前边界:
- 只自动接管由当前录制 tab 派生的新 tab。
- 用户手动打开且没有 opener 关系的无关 tab,不会自动纳入录制。
- iframe 上下文切换暂未支持。iframe 场景建议先作为能力边界验证,后续版本会单独增强。
动态属性过滤
现代前端框架经常生成运行时 id、随机 class 或 aria 关联属性。录制时如果把这些临时值作为关键定位依据,下一次打开页面就可能失效。
CueCast 会在生成定位信息时过滤一部分明显不稳定的动态属性,例如:
- 框架生成的动态 id,例如部分 Element Plus / 组件库运行时 id。
- 随机 class、构建产物 class、开发模式临时 class。
- 仅用于运行时关联的 aria 属性,例如临时
aria-controls、aria-describedby。 - 常见状态 class,例如 loading、active、selected、disabled 等不会单独作为稳定身份。
过滤动态属性不是完全忽略 id 和 class。稳定的业务 id、data-testid、name、可读文本和组件上下文仍然会被优先使用。
截图策略
用例可以选择不同截图策略:
| 策略 | 适用场景 | 注意事项 |
|---|---|---|
| 标准截图 | 日常录制和回放 | 体积较小,加载更快。 |
| 高清整屏截图 | 需要完整页面上下文排障 | 会增加存储和页面加载开销。 |
下拉框录制
对于 iView、Ant Design、Element 等 Select/Combobox 组件,CueCast 会优先记录组件根节点和上下文候选,减少同类下拉框误定位。
如果左右两个下拉框功能和选项高度相似,建议业务页面尽量提供稳定 class、data-testid 或可区分的结构信息。
可测性建议
为了提升长期稳定性,建议业务系统在关键控件上提供稳定标识:
- 使用稳定的
data-testid、data-cy或业务语义 class。 - 避免关键按钮只有图标且没有可读文本。
- 下拉框、弹窗、表格行等复杂组件尽量有可区分上下文。
- 页面加载完成后再隐藏 loading,避免自动化误判可操作状态。
常见问题
| 现象 | 可能原因 | 建议处理 |
|---|---|---|
| 录制不到操作 | 扩展未启用或页面未刷新 | 检查插件状态,刷新产品页和目标页。 |
| 输入步骤过多 | 输入时多次停顿或焦点切换 | 编辑步骤,保留最终输入值。 |
| 新建数据重名 | 固定输入值被重复使用 | 将输入值类型改为前缀加时间戳或随机字符串。 |
| 下拉选项回放失败 | 浮层结构变化或同类组件太多 | 补充稳定标识,必要时重新录制该段。 |
| 回放时未登录 | 登录态失效 | 执行计划建议启用登录准备;单条调试时可先在目标页面完成登录。 |
