添加客服微信
400 035 7887
一、AI 排查前置:统一采集全维度失败上下文(AI 判断的数据源)
脚本失败时,自动收集全套信息传给 AI,缺一不可:
执行基础信息:用例 ID、执行步骤、浏览器 / 设备、运行环境、执行时间
报错原始日志:selenium/playwright/appium 堆栈、超时、元素找不到、断言失败、网络异常
页面资产:失败时刻全屏截图、DOM 源码、页面 XHR / 请求响应、Cookie
基线对照素材:该页面正常基线截图、标准 DOM、预期文案 / 样式
前置操作链路:前几步执行记录、弹窗、滚动、等待操作记录
历史数据:该用例过往失败记录、前端近期代码提交记录
二、AI 分层排查核心能力与具体方法
(一)LLM 大模型:日志结构化解析 + 初分类失败类型
1. 自动清洗、翻译、归类杂乱报错
原始日志是机器英文堆栈,AI 自动完成:
去除无用冗余日志,提取关键报错关键词;
翻译成业务易懂中文,区分 4 大类失败:
1)定位类失败:NoSuchElement、元素找不到、选择器失效
2)断言类失败:文本不符、按钮缺失、数值错误、视觉不一致
3)环境 / 网络类:接口 500、超时、页面空白、跨域、验证码弹窗
4)业务 BUG 类:流程跳转错误、数据计算错误、状态流转异常
2. 链路推理:还原完整执行上下文
AI 结合步骤 + 日志推理:
执行到 “点击提交按钮” 时报元素不存在,前置操作弹窗未关闭遮挡按钮,导致定位失败。
实操 Prompt 模板(可直接使用)
plaintext
你是UI自动化故障分析专家,基于以下执行日志、操作步骤,完成:
1. 提炼1句话核心失败现象;
2. 判定失败类型(定位失效/断言不匹配/环境问题/前端业务缺陷);
3. 列出3条最可能根因,按概率从高到低排序;
4. 给出对应排查验证操作;
5. 区分:是脚本需修改,还是前端代码BUG,或是环境偶发问题。
日志:{{日志内容}}
操作步骤:{{执行步骤}}
(二)VLM 视觉大模型:截图智能比对,定位 UI 展示类失败
针对视觉断言失败、页面错乱、文案错误、按钮消失场景,纯日志无法判断,靠识图 AI:
基线图 vs 失败截图智能 Diff
传统像素对比易受时间、动态数据干扰;VLM 自动过滤动态变量(时间、订单号、随机弹窗),精准标出真实差异:
按钮缺失、文字错位、颜色错误、弹窗异常、表单未渲染;
OCR 提取页面全部文字,对比预期文案,直接指出 “提示语与需求不符”。
识别遮挡、弹窗、遮罩层
AI 识图判断:页面存在升级弹窗、loading 遮罩、广告浮层,导致按钮无法点击。
识别页面加载异常
空白页、404、加载转圈无响应,判定前端渲染崩溃 / 接口请求失败。
(三)DOM 语义对比 AI:解决元素定位失败(最高频故障)
90% UI 自动化报错是找不到元素,AI 自动对比「正常 DOM」和「失败 DOM」:
对比页面节点变化:class、id、层级、文字、属性改动;
语义化识别元素:不依赖固定选择器,通过按钮文字、标签、业务含义匹配;
自动输出修复方案:
旧 xpath 失效,生成新可用 css/xpath;
建议改用文字语义定位 / 视觉定位替代动态属性;
区分两种场景:
前端改版 DOM 结构变了 → 脚本需要自愈更新定位器;
接口无返回数据,元素未渲染 → 前端 BUG。
(四)接口链路 AI 分析:定位后端数据导致的 UI 失败
UI 展示异常很多根源是接口返回错误,AI 自动关联页面 XHR 请求:
扫描失败步骤前后所有接口状态码、返回体;
对比正常流程接口返回数据,找出差异字段;
推理逻辑:列表接口返回空数组→页面无数据展示→自动化断言失败;
自动标记接口报错,同步对应后端接口与开发负责人。
(五)历史数据 RAG 知识库:快速区分偶发 / 稳定 BUG
构建项目 RAG 知识库存入:历史失败记录、页面迭代记录、高频偶发问题、已知环境缺陷;
AI 排查时自动检索相似历史案例:
相同用例近 10 次执行多次失败:判定稳定前端缺陷,直接提缺陷;
仅本次失败,其余正常、伴随网络超时:判定环境偶发波动,建议重跑;
近期前端提交修改过该页面组件:高概率是代码变更引入问题。
三、AI 完整自动化排查流程(流水线自动执行,无需人工介入)
脚本执行失败 → 自动采集截图、DOM、日志、接口、执行链路;
第一步:LLM 解析日志,初步分类失败大类;
分支 1:定位失败 → AI 对比新旧 DOM,生成新定位器,尝试自动自愈修复;
分支 2:断言 / 视觉失败 → VLM 对比基线截图,圈出 UI 差异,提取错误文案;
分支 3:页面空白 / 无数据 → AI 分析接口请求,校验返回数据正确性;
RAG 匹配历史故障,判断是偶发环境问题还是程序稳定缺陷;
AI 输出标准化故障报告:
核心故障描述、根因分级、验证方案、修复建议;
区分三类结论:前端 BUG / 自动化脚本待优化 / 环境偶发无需改代码;
自动推送结果:
稳定缺陷:自动生成缺陷单,附截图、日志、AI 分析结论;
脚本自愈可修复:自动更新 PO / 定位器,下次执行生效;
环境偶发:自动触发重跑机制,通知测试人员仅做观察。
四、不同失败场景下 AI 具体排查手段
场景 1:元素找不到 NoSuchElement(最常见)
AI 动作:
解析 DOM 对比,查看元素是否存在、是否被遮罩、是否异步未渲染;
VLM 识图判断页面有无目标按钮 / 输入框;
检索历史:是否近期前端修改页面结构;
输出方案:
元素存在但选择器失效:给出新 xpath/css,自动自愈脚本;
元素不存在:接口无数据 / 前端未渲染,判定开发 BUG;
弹窗遮挡:自动增加关闭弹窗步骤,优化脚本。
场景 2:视觉断言不通过(页面样式、文案错乱)
AI 动作:
VLM 对比基线图,框选差异区域,OCR 识别文字差异;
过滤动态时间、随机数字等无关像素差异;
输出:明确指出 “提交按钮文字由‘确认’变为‘提交’,与需求不符”,附带对比截图。
场景 3:步骤执行超时,页面一直加载
AI 动作:
抓取页面所有接口,查看是否存在接口 504、长时间 pending;
识图判断页面是否无限 loading;
区分:接口性能问题(后端)/ 前端渲染阻塞 / 网络环境差。
场景 4:业务流程断言失败(数据不对、状态错误)
AI 动作:
解析接口返回数据,对比预期业务规则;
检索产品需求知识库,校验数据计算逻辑;
输出:订单金额计算错误、审批状态流转异常,判定业务缺陷。
场景 5:间歇性偶发失败(不稳定用例)
AI 动作:
调取该用例历史执行记录,统计失败频次;
分析失败时网络、加载时长、弹窗出现时机;
给出优化方案:增加智能等待、处理随机弹窗、调整执行时机。
五、落地增效配套能力
AI 自动自愈(排查 + 修复一体化)
定位类故障排查完成后,AI 生成有效定位器,自动更新自动化 PO 文件,无需人工改代码,下次回归直接生效,大幅降低维护工作量。
故障自动聚类
批量执行后 AI 把同类失败聚合,比如 10 条用例均因同一组件改版失效,统一批量修复,不用逐条处理。
自然语言可视化报告
摒弃晦涩日志,AI 输出大白话报告,产品、开发无需看懂自动化堆栈也能理解问题;同时自动关联对应前端 commit 记录,精准推送责任人。
沉淀故障优化库
每次 AI 排查后的根因、修复方案自动存入 RAG,同类故障下次排查速度更快,持续优化 AI 判断准确率。
六、落地分阶段实施路线
阶段 1:轻量化快速落地(无框架改造)
失败后导出日志 + 截图,投喂大模型人工触发 AI 分析;
用于缩短人工看日志、比对截图的时间;
收益:单条故障排查时间减少 60%。
阶段 2:流水线集成自动化排查(CI/CD 自动执行)
脚本失败自动采集全量上下文,调用 LLM+VLM 自动分析;
自动区分 BUG / 脚本问题 / 环境问题,自动提缺陷;
收益:大部分简单故障无需人工介入,仅复杂故障人工复核。
阶段 3:AI 自愈全链路闭环
排查→自动修复定位器 / 补充等待逻辑→自动重跑验证→更新自动化代码库;
收益:UI 自动化维护人力下降 70% 以上。
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系SPASVO小编(021-60725088-8054),我们将立即处理,马上删除。