Appearance
失败类型与排障
如果你只想快速看当前失败记录,先去 结果与排障。
通用排查顺序
无论是哪种失败,建议都先按下面顺序看:
失败步骤截图
看页面当时到底停在哪、是否真的进入了预期状态。错误信息
判断更像找不到元素、页面未跳转、断言不一致,还是业务报错。当前 URL 和页面状态
确认页面是否已经跳走、是否已有登录态、是否进入了错误页或权限页。失败步骤前后的业务上下文
确认前一步是否真的把页面带到了下一步应该所在的状态。步骤表达本身
最后再判断是否要改 CSS、XPath、输入值、等待时间或局部重录。
1. 页面没有进入预期状态
典型现象
- 本来应该进入详情页,结果还停在列表页
- 本来应该打开登录页,结果已经在工作台
- 本来应该展开下拉或弹窗,结果页面没有对应区域
常见原因
- 前一步操作没有真正生效
- 页面有旧登录态或旧会话状态
- 路由守卫、权限校验、自动跳转改变了页面起点
- 页面加载慢,还没进入下一状态就开始执行后续步骤
先做什么
- 看失败截图,确认页面到底停在哪
- 看当前 URL 是否已经不是原预期路由
- 看前一步是否有明显异常,例如没点开、没提交、没跳转
- 如果只是慢一点,补执行前等待
什么时候改步骤
- 页面状态本身不对时,不要先改选择器
- 先修前一步,或修前置状态、测试数据、登录态
2. 页面对了,但找不到元素
典型现象
- 错误信息提示找不到目标元素
- 截图里大致页面是对的,但目标控件没命中
- 两个相似控件中,命中了错误的那个
常见原因
- 页面结构改了
- 元素文案、属性或层级变化
- 下拉、弹窗、表格行等复杂组件缺少稳定标识
- 同类组件太多,但业务语义不够区分
先做什么
- 先确认截图里的页面状态是对的
- 再检查当前步骤的 CSS 或 XPath
- 对照页面结构,看目标元素是否换了 class、属性或层级
- 如果是复杂组件,优先局部重录该段
什么时候改 CSS / XPath
- 页面是对的,但元素定位失效时
- 目标元素仍存在,只是原定位表达不稳定时
什么时候该找研发
- 页面上多个目标几乎完全一样
- 缺少稳定 id、
data-testid、name等可区分标识 - 同类下拉、按钮、表格行无法稳定区分
3. 元素存在,但点不到或没点对
典型现象
- 元素看起来在页面上,但点击后没反应
- 本来应该点右侧控件,结果点成左侧相似控件
- 点击后下拉没展开,或展开了别的组件
常见原因
- 元素被遮挡、未真正可交互
- 页面还没加载完成就执行点击
- 组件内部真实点击区域与外层结构不一致
- 同类控件过于相似,系统命中了错误目标
先做什么
- 看失败截图里元素是否真的可点击
- 看是否有遮罩、提示框、浮层挡住目标
- 如果页面只是慢一点,先加小范围等待
- 如果是复杂组件,优先局部重录而不是死改长选择器
实战建议
- 对表格行、下拉、弹窗按钮,不要只看按钮本身,先确认它处在正确业务上下文里
- 如果总是点错相似目标,最好让页面补充更稳定的区分标识
4. 输入值不生效或输入后结果不对
典型现象
- 输入框没有写入内容
- 输入后页面结果不符合预期
- 创建数据时提示重名、格式不合法或校验失败
常见原因
- 目标输入框本身没找到
- 页面控件不接受当前输入格式
- 业务字段要求唯一值,但步骤写的是固定值
- 当前数据格式不符合业务限制
先做什么
- 先确认输入框是否真的存在且可编辑
- 看当前输入值是否符合字段规则
- 如果涉及新建对象且不能重名,优先改为动态输入值
什么时候用动态输入值
适合:
- 项目名
- 任务名
- 规则名
- 唯一编号
不适合:
- 登录账号
- 固定查询条件
- 需要稳定复现的断言前置值
5. 断言不通过
典型现象
- 页面流程看起来执行成功,但文本断言失败
- JSON 断言不一致
- 页面内容变了,但步骤仍按旧值校验
常见原因
- 产品文案变更
- JSON 内容或字段顺序、结构变化
- 页面其实没完成预期动作,只是表面跳到了对应区域
先做什么
- 先判断业务结果是不是真的错了
- 如果业务结果对,只是展示值变了,再改断言值
- 如果业务结果本身不对,先回查前面的步骤和页面状态
不要怎么做
- 不要一看到断言失败就直接改断言值
- 先确认这是产品变更,还是前面步骤已经偏了
6. 页面有业务报错弹窗或错误提示
典型现象
- 页面出现明显错误弹窗、错误 toast、权限提示
- 提交后显示业务失败、接口异常、参数错误
常见原因
- 业务数据不满足要求
- 接口报错
- 权限不足
- 当前环境本身异常
先做什么
- 先以页面错误提示和失败截图为准
- 再看失败步骤本身是否也存在定位不稳定
- 判断这是测试数据问题、权限问题,还是产品缺陷
什么时候不要先改步骤
- 页面已经明确给出业务错误时
- 当前问题更像系统行为、环境问题或接口异常时
7. 智能步骤执行不稳定
典型现象
- 智能步骤没找到目标
- 执行到一半失败
- 点击了错误目标
常见原因
- 指令太模糊
- 页面中存在多个相似目标
- 一条指令里包含太多动作
先做什么
- 把指令写得更具体
- 增加目标名称、按钮文案、所在区域等约束
- 把长指令拆成多条短智能步骤
什么时候不用智能步骤
- 登录、删除、提交审批等高风险动作
- 已经能用普通录制步骤稳定表达的场景
- 发布准入中的关键确定性路径
8. 如何判断该改步骤,还是该找研发
更偏向改步骤的场景:
- 页面状态对,但元素定位过时
- 输入值、断言值、等待时间不合理
- 当前步骤本身表达不够稳定
更偏向找研发的场景:
- 页面上多个目标完全相似,缺少可区分标识
- 页面有明确业务错误弹窗或接口异常
- 权限、环境、路由守卫导致流程本身走不通
- 页面大量依赖动态结构,无法稳定区分目标
与 FAQ 的关系
如果你遇到的是单个高频问题,优先看 FAQ。
如果你已经拿着一条失败记录在排查,建议按本页的失败类型顺序处理。
