Appearance
智能步骤
智能步骤用于用自然语言描述界面操作,由系统结合当前页面结构规划执行动作。它适合补充处理复杂页面或难以稳定录制的少量操作。
智能步骤不是断言,也不是通用脚本。它的价值在于把一段“操作意图”交给系统执行,例如搜索、选择、打开某条结果、点击指定按钮。
适用场景
适合使用智能步骤:
- 页面结构复杂,录制步骤容易受浮层、虚拟列表或动态组件影响。
- 操作目标需要根据页面状态选择,例如“打开第一条结果详情”。
- 需要表达一小段连续动作,但手工维护多个定位步骤成本较高。
- 非发布阻断路径中,需要更快覆盖流程。
不建议使用智能步骤:
- 登录、支付、删除、提交审批等高风险动作。
- 发布准入计划中的关键确定性路径。
- 可以用普通点击、输入、断言稳定表达的步骤。
- 对结果一致性要求极高的验证逻辑。
添加智能步骤
可以在用例详情页中添加智能步骤:
- 在步骤之间或步骤末尾点击添加入口。
- 选择「添加智能步骤」。
- 在编辑弹窗里填写自然语言指令。
- 保存后回放用例验证效果。
如果没有填写“自然语言指令”,系统会退回使用“步骤描述”作为执行说明。为了避免备注文字误参与执行,建议智能步骤始终明确填写自然语言指令。


指令写法
推荐写清楚三个信息:目标、动作、约束。
一个稳定的智能步骤,通常具备这些特点:
- 目标明确:写清控件名称、按钮文案、表格行名称、所在区域
- 动作明确:写清点击、输入、选择、打开、悬停、勾选等动作
- 范围明确:有多个相似元素时,补充“哪一行”“哪个下拉框”“哪个区域”
好的写法:
text
在搜索框输入“测试项目”,点击查询按钮,并打开第一条结果详情。text
在状态下拉框中选择“启用”,然后点击保存。text
找到名称为“自动化测试项目”的表格行,点击该行右侧的详情按钮。不推荐写法:
text
处理一下这个页面。text
点那个按钮。text
完成所有配置。更容易成功的描述方式
建议优先使用下面这种表达方式:
在“源数据库”下拉框中选择“MySQL”找到名称为“自动化测试项目”的表格行,点击右侧“详情”在 host 输入框中输入 192.168.0.248点击“保存”按钮
不建议使用下面这种表达方式:
点那个按钮处理一下这个弹窗把这里选好完成整个配置流程
原因很直接:智能步骤会结合当前页面结构规划执行动作。描述越具体,系统越容易把“你说的目标”映射到页面上的正确元素。
多步指令拆分
如果一个智能步骤里包含编号指令,保存时会自动拆成多条智能步骤,便于单独执行和排障。
当前支持的常见编号形式包括:
1. xxx2. xxx1、xxx2、xxx
也就是说,如果你希望一段较长的自然语言在保存时自动拆开,最直接的写法就是使用编号。
目前更推荐把会引起页面状态变化的长指令主动拆开,而不是全部塞进一个智能步骤。
典型的页面状态变化包括:
- 打开或关闭下拉框、弹层、弹窗
- 点击后切换区域、切换页签
- 点击后页面局部刷新
- 点击保存、确认、提交后页面状态发生变化
- 一条指令里包含多个“然后 / 再 / 最后”
示例:
text
1. 在搜索框输入“测试项目”
2. 点击查询
3. 打开第一条结果详情拆分后,每条智能步骤都有独立的自然语言指令。这样失败时更容易定位是哪一段操作没有完成。
什么时候应该主动拆分
建议拆分的情况:
- 一条指令里有 3 个及以上动作
- 中间某一步会改变页面结构或页面状态
- 包含多个下拉框、弹窗、表格操作
- 同一条指令里既有输入、又有点击、又有选择
例如下面这种写法,建议拆分:
text
打开源数据库下拉框选择 MySQL,然后打开目标数据库下拉框选择 PostgreSQL,最后点击保存更稳的写法是:
text
1. 打开源数据库下拉框,选择 MySQL
2. 打开目标数据库下拉框,选择 PostgreSQL
3. 点击保存这样做的好处是:
- 每条智能步骤更短,模型更容易理解
- 每一步都会基于当前页面重新规划
- 页面变化后,不会把后续动作都压在同一次规划里
- 失败时更容易判断是哪一段出了问题
与普通步骤的区别
| 类型 | 优点 | 注意事项 |
|---|---|---|
| 普通录制步骤 | 行为确定、结果稳定、适合发布准入。 | 页面改版后可能需要维护定位。 |
| 智能步骤 | 表达灵活,适合复杂页面和少量动态操作。 | 依赖页面结构和指令清晰度,不建议滥用。 |
推荐把智能步骤作为补充能力,而不是替代所有录制步骤。
与断言的区别
智能步骤负责“做事”,断言负责“验证结果”。
例如:
text
智能步骤:在搜索框输入“测试项目”,点击查询按钮。
文本断言:页面出现“测试项目”。不要把“验证页面一定出现某结果”完全写进智能步骤里。关键结果建议使用 断言 明确表达。
失败排查
| 现象 | 可能原因 | 建议处理 |
|---|---|---|
| 智能步骤没有找到目标 | 指令过于模糊,页面结构缺少可识别文本 | 补充目标名称、按钮文案、所在区域。 |
| 点击了错误目标 | 页面存在多个相似按钮或表格行 | 在指令里增加约束,例如“名称为 xxx 的行右侧”。 |
| 执行到一半失败 | 一条指令包含太多动作 | 拆成多条智能步骤。 |
| 回放时间变长 | 页面结构复杂或模型规划耗时 | 将稳定部分改为普通录制步骤。 |
使用建议
- 一条智能步骤只描述一个小目标。
- 一条智能步骤里如果包含多个会引起页面变化的动作,优先拆成多条。
- 关键操作后仍然添加文本断言或 JSON 断言。
- 对稳定路径优先使用录制步骤。
- 对不稳定智能步骤,优先改写指令;仍不稳定时改成普通步骤或局部重录。
智能步骤的自然语言指令字段说明见 步骤配置。
