Appearance
断言
只录制操作并不等于完成测试。一个可维护的自动化用例,应该明确验证关键结果。
CueCast 当前支持文本断言和 JSON 断言。建议在关键路径的末尾或关键状态变化后添加断言,避免用例只是"跑完",但没有验证业务结果。

添加断言步骤
在用例详情页的步骤列表中,将鼠标悬停在步骤之间的连接点(或末尾 + 按钮),点击「添加断言」即可快速插入断言步骤。也可以在编辑步骤弹窗中将已有步骤的操作类型改为断言。

文本断言
文本断言用于验证页面中的文本是否符合预期。
适合场景:
- 保存成功后出现「保存成功」。
- 登录成功后出现用户名或「退出登录」。
- 进入工作台后出现「工作台」。
- 列表中出现指定记录名称。
- 表单校验出现预期错误提示。
断言目标
| 目标 | 说明 | 适用场景 |
|---|---|---|
| 整页文本 | 在页面所有可见文本中匹配期望值 | 最常用,适合验证页面出现了某段稳定文案 |
| 指定元素 | 读取指定 CSS/XPath 元素的文本内容进行匹配 | 需要精确验证某个字段、单元格、提示区域 |
| 错误提示 | 优先匹配常见 toast / message / dialog 等错误提示区域的文本 | 负向校验,验证错误密码、权限不足等场景的错误提示 |
匹配方式
| 匹配方式 | 规则 | 适用场景 |
|---|---|---|
| 包含 | 页面/元素文本包含期望值即通过 | 最常用,适合验证某段文案出现在了页面上 |
| 等于 | 页面/元素文本与期望值完全相等 | 精确校验某个字段的值 |
| 不包含 | 页面/元素文本不包含期望值 | 验证某段文案没有出现 |
| 正则匹配 | 期望值作为正则表达式进行匹配 | 需要模式匹配,如动态编号 ORDER-\d+ |
使用建议
- 断言稳定文案,不要断言随机数、时间戳或动态数量。
- 如果页面存在多语言,选择当前环境稳定出现的文案。
- 整页文本「包含」是最简单可靠的方式,适合大部分场景。
- 正则匹配适合需要验证格式但不关心具体值的场景。
- 错误提示目标适合负向用例,代替过去的"页面错误提示自动失败"全局开关。
JSON 断言
JSON 断言用于验证页面中的 JSON 响应或结构化数据是否符合预期。CueCast 会按语义比较 JSON,忽略键顺序和格式空白。
适合场景:
- 页面展示接口响应内容。
- 需要验证某个结构化结果字段。
- 响应顺序不稳定,但结构和关键值稳定。
JSON 断言的匹配方式
JSON 断言的期望内容保存在步骤的输入值字段。系统会读取目标输入框、文本域或容器文本,并按 JSON 语义比较。
会忽略:
- 空格。
- 换行。
- 对象键顺序。
不会忽略:
- 字段缺失。
- 字段值不同。
- 数组顺序变化。
- JSON 语义不合法。
建议只保留关键字段,不要把整段巨大 JSON 都作为期望值。过大的断言会增加维护成本,也会让失败信息难以阅读。
断言放在哪里
推荐放在这些位置:
- 创建、保存、提交等动作之后。
- 页面跳转完成之后。
- 列表刷新之后。
- 查询结果展示之后。
- 执行计划中的核心用例末尾。
不要在每一步后都添加断言。断言越多,维护成本越高。优先覆盖业务结果,而不是覆盖每一个中间状态。
登录成功示例
Step 1: 输入用户名(input)
Step 2: 输入密码(input,敏感值)
Step 3: 点击登录按钮(click)
Step 4: 文本断言 — 目标「整页文本」、匹配方式「包含」、期望值「退出登录」期望值也可以换成登录后才出现的唯一文案,如用户名、工作台、Dashboard 等。
失败排查
| 失败类型 | 可能原因 | 建议处理 |
|---|---|---|
| 文本断言失败 | 文案变化、页面未加载完成、进入了错误页面 | 检查截图和页面文本,必要时调整断言值或等待时间 |
| 元素文本不一致 | 选择器定位到了错误区域,或目标区域内容变化 | 调整 CSS/XPath,或改用更稳定的目标元素 |
| JSON 断言失败 | 字段值变化、响应结构变化、动态字段未剔除 | 保留关键字段,移除动态字段 |
| JSON 解析失败 | 页面内容不是合法 JSON | 确认目标元素只包含 JSON 原文 |
输入值、动态值和执行前等待的详细配置见 步骤配置。
