Skip to content

断言

只录制操作并不等于完成测试。一个可维护的自动化用例,应该明确验证关键结果。

CueCast 当前支持文本断言JSON 断言。建议在关键路径的末尾或关键状态变化后添加断言,避免用例只是"跑完",但没有验证业务结果。

img.png

添加断言步骤

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

img.png

文本断言

文本断言用于验证页面中的文本是否符合预期。

适合场景:

  • 保存成功后出现「保存成功」。
  • 登录成功后出现用户名或「退出登录」。
  • 进入工作台后出现「工作台」。
  • 列表中出现指定记录名称。
  • 表单校验出现预期错误提示。

断言目标

目标说明适用场景
整页文本在页面所有可见文本中匹配期望值最常用,适合验证页面出现了某段稳定文案
指定元素读取指定 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 原文

输入值、动态值和执行前等待的详细配置见 步骤配置

回演 CueCast 产品文档