Skip to content

步骤配置

录制完成后,每一步都可以继续编辑。步骤配置用于修正定位、补充等待、调整输入值、设置断言内容,让用例从“一次录制结果”变成可长期维护的测试资产。

img.png

可配置字段

字段说明常见用途
操作类型当前步骤执行的动作,例如点击、输入、断言、等待、智能步骤。录制识别不准确时手动修正。
步骤描述给团队成员看的说明。解释该步骤业务意图。
CSS 选择器用 CSS 定位目标元素。页面改版后修复定位。
XPath用 XPath 定位目标元素。CSS 不稳定或目标结构复杂时作为兜底。
输入值输入、断言、下拉选择或等待步骤使用的值。修改输入内容、断言内容或等待时长。
执行前等待当前步骤执行前等待的毫秒数。等待动画、接口返回、组件可交互。
自然语言指令智能步骤的操作说明。用自然语言描述复杂界面操作。

操作类型

常见操作类型包括:

  • 点击:点击按钮、菜单、链接或选项。
  • 输入:向输入框、文本域或可编辑区域输入内容。
  • 勾选 / 取消勾选:处理 checkbox。
  • 悬浮:触发 hover 菜单或浮层。
  • 文本断言:验证页面文本或指定元素文本。
  • JSON 断言:验证结构化 JSON 内容。
  • 等待:显式等待一段时间。
  • 智能步骤:用自然语言描述操作,由系统规划执行。

如果只是定位失败,优先修改 CSS/XPath 或重新录制局部步骤,不建议随意修改操作类型。

输入值

输入值 的含义取决于操作类型:

操作类型输入值含义
输入回放时写入目标输入框的内容。
点击下拉选项目标选项文本。
文本断言期望出现的文本。
JSON 断言期望 JSON 原文。
等待等待毫秒数。
键盘操作按键名称,例如 Enter

修改输入值不会改变目标元素定位。如果元素本身找不到,需要调整 CSS、XPath 或重新录制该步骤。

动态输入值

输入步骤支持动态值。动态值只影响回放时实际输入的内容,不影响该步骤的目标元素。

类型回放时输入适用场景
固定值始终输入保存的值。登录账号、固定查询条件、稳定断言前置数据。
随机字符串每次生成一段小写字母和数字。新建名称、唯一编码、避免重复数据。
随机数字每次生成一段数字。手机号后缀、编号、金额类测试数据。
时间戳输入当前时间戳。需要唯一值但不关心可读性。
前缀 + 时间戳输入固定前缀加当前时间戳。需要可识别又唯一的测试数据,例如 case-1710000000000

动态值适合“新建数据不能重名”的场景。例如创建项目、创建任务、创建规则时,可以使用“前缀 + 时间戳”避免重复名称导致失败。

长度范围

随机字符串和随机数字可以配置长度范围:

  • 随机字符串默认 8 到 128 位,最大 1024 位。
  • 随机数字默认 1 到 5 位,最大 128 位。

长度范围不宜过大。建议优先选择业务字段允许的正常长度,避免因为输入过长触发表单校验。

敏感输入值

录制密码类字段时,系统会将输入值标记为敏感值。敏感值会加密存储,编辑界面不展示明文。

如果忘记敏感输入值,需要重新输入新值并保存。不要在步骤描述、断言或普通输入字段里填写真实密码。

执行前等待

执行前等待 是当前步骤开始前等待的时间,单位为毫秒。

适合使用执行前等待的场景:

  • 点击后页面有短动画。
  • 下拉框选项需要接口加载。
  • 保存后需要等待提示出现。
  • 列表刷新需要一点时间。
  • 某个按钮要等前一步接口返回后才可点击。

建议从较小值开始,例如 50010002000。不要为了掩盖不稳定定位给每一步都加长等待,否则会让整条用例变慢,也会掩盖真实的页面性能问题。

定位配置

CueCast 录制时会保存 CSS、XPath 和智能定位元数据。回放时会优先使用智能定位候选,并保留 CSS/XPath 作为兼容兜底。

字段优先级与作用范围

下表描述的是“编辑步骤”弹窗中几个常见字段,对回放定位和执行的实际影响范围。

字段主要作用对 CDP 主路径的优先级对 DOM 降级路径的影响备注
系统自动生成的智能定位信息录制时自动保存的定位线索,包含元素语义、组件结构、文本和上下文信息。最高。回放时会先尝试这部分信息。同样优先使用。这部分不在普通编辑弹窗里直接展示,主要由系统维护。
CSS 选择器作为 CSS 兜底定位。低于系统自动生成的智能定位信息;若是稳定 #id 形式,会高于普通 CSS。作为 CSS fallback 使用。手工修改 CSS 不会自动覆盖系统已经记录的智能定位信息。
XPath作为 XPath 兜底定位。低于系统自动生成的智能定位信息;通常高于普通 CSS fallback。作为 XPath fallback 使用。适合结构层级明确、CSS 不好写的目标。
输入值输入内容、断言内容、等待毫秒数、按键名,或部分点击步骤的文本值。input 不影响目标定位;对部分下拉/菜单点击会参与文本兜底。同样可能参与文本兜底。修改输入值通常不会修复“找不到元素”;更多是修正业务值或断言值。
步骤描述面向团队成员的说明文本。普通步骤不参与定位。普通步骤不参与定位。仅智能步骤会在缺少自然语言指令时回退使用描述。
自然语言指令智能步骤的执行指令。不参与普通步骤定位;直接决定智能步骤要做什么。不参与普通步骤定位;直接决定智能步骤要做什么。仅对智能步骤有效。

上表里的第一项,可以理解为系统在录制时自动记下的“元素身份信息”。它通常比单独一条 CSS 或 XPath 更稳定,所以回放会优先使用这部分信息。

对智能步骤来说,系统会优先使用“自然语言指令”。如果这个字段留空,才会退回使用“步骤描述”作为执行说明。因此,步骤描述虽然通常是给团队看的备注,但在智能步骤里也可能影响执行结果。

CSS 的两种优先级

在步骤编辑页里修改 CSS 选择器 时,系统不会主动把它标记成“高优先级稳定定位器”。当前只有下面这类选择器,会在回放时被识别为更高一档的稳定 CSS:

  • #id 形式,例如 #submit#save-btn
  • 且这个 id 不是框架临时生成、容易变化的动态 id

下面这些都属于普通 CSS fallback:

  • button.primary
  • .form .submit-btn
  • [data-testid="save"]
  • div.ivu-select-selection

也就是说,步骤编辑里填的 CSS 默认只是一个兼容兜底。只有它恰好满足“稳定 id”规则,回放主路径才会把它提到更高优先级。

什么时候改哪个字段

  • 元素定位失败,但页面已经在正确状态:优先判断系统自动记录的定位线索是否已经失效,再修改 CSS 或 XPath。
  • 只是业务值不对、断言内容不对、下拉项文本不对:修改 输入值
  • 想让输入内容每次自动变化:修改“动态输入值”配置,而不是改 CSS/XPath。
  • 想给团队看懂步骤意图:修改 步骤描述
  • 想改变 AI 智能步骤的执行意图:修改 自然语言指令

当页面改版导致步骤失败时,建议按以下顺序处理:

  1. 查看失败截图,确认页面是否进入了预期状态。
  2. 如果页面正确但元素找不到,更新 CSS 或 XPath。
  3. 如果是下拉、弹窗、表格行等复杂组件,优先局部重新录制该段。
  4. 如果业务路径已经变化,再重新录制整条用例。

断言值

文本断言和 JSON 断言都使用输入值字段保存期望内容。

文本断言支持三种断言目标和四种匹配方式

断言目标:

目标说明
整页文本在页面可见文本中匹配
指定元素读取指定 CSS/XPath 元素的文本进行匹配
错误提示优先匹配 toast/message/dialog 等错误提示区域

匹配方式:

方式规则
包含页面/元素文本包含期望值即通过
等于文本与期望值完全相等
不包含文本不包含期望值
正则匹配期望值作为正则表达式匹配

JSON 断言读取目标输入框、文本域或容器文本,后端按 JSON 语义比较,忽略格式空白、换行和对象键顺序。

断言的详细规则与示例见 断言,智能步骤的写法见 智能步骤

保存与验证

编辑步骤后,建议立即单条回放当前用例。确认通过后,再执行所在分组或执行计划。

如果一次改了多个步骤,建议记录修改原因,方便团队后续排查。

回演 CueCast 产品文档