当前位置:泽众软件测试网- 技术文章 -正文

大模型语义推理类技术是如何实现自动化测试脚本自愈的?

发布时间:2026-07-07   阅读次数:29

一、核心思路
传统 DOM 自愈只靠标签、文字、层级做简单相似度匹配,视觉自愈只靠截图像素比对,无法理解业务上下文,容易出现相似按钮误匹配;
而大模型(LLM)具备自然语言理解、DOM 语义解读、业务逻辑推理能力,脚本定位失败后,把「操作意图、旧页面快照、当前页面、报错信息」送入大模型,由模型自主分析:
判断目标控件是否还存在;
区分是页面微调(可自愈) 还是业务流程变更(不可自愈,需人工更新用例);
基于业务语义生成全新可用定位表达式(XPath/CSS/ 控件坐标);
输出修复方案并自动更新脚本定位,完成自愈。
简单概括:用大模型读懂 “你原本要操作什么业务控件”,而不是只匹配文字或图片。
 
二、前置准备:录制阶段预先存储语义信息
在录制自动化脚本时,平台会同步采集多维度上下文数据,作为大模型推理的输入素材:
操作意图文本
人工 / AI 生成自然语言描述:点击页面顶部登录按钮、在用户名输入框填写账号、点击弹窗确定按钮提交表单;
原始页面 HTML 快照
执行该步骤时的完整 DOM 树、元素文本、层级结构;
原始失效定位器
录制时生成的 xpath/css 选择器;
元素特征标签
所属模块(登录模块 / 订单模块)、相邻控件、业务功能分类。
这些信息会和脚本步骤绑定持久存储,自愈触发时一次性传给大模型做对比推理。
 
三、完整自愈执行闭环(5 步核心流程)
步骤 1:捕获定位异常,触发自愈分支
自动化框架(Playwright/Selenium/Appium)拦截底层异常:NoSuchElementException 元素找不到、元素超时不可见等,暂停正常执行,启动 LLM 自愈引擎。
步骤 2:组装完整 Prompt 上下文,送入大模型
系统自动拼接结构化提示词,输入内容包含 4 块核心信息:
业务操作意图:本次需要执行操作:点击登录按钮;
旧环境信息:原始页面 DOM、旧定位器;
当前运行页面:最新完整 HTML、页面截图(多模态大模型可传入图片);
约束规则:
优先匹配同业务模块、相同功能控件;
区分相似名称按钮(如 “提交订单” 和 “提交反馈”);
若控件已删除 / 流程变更,直接返回 “无法自愈,需人工修改用例”;
输出标准可执行 XPath/CSS 选择器。
步骤 3:大模型多层语义推理分析
大模型分三层推理判断:
第一层:差异对比推理
对比旧 DOM 与当前 DOM,识别页面改动类型:
仅修改 id、class、随机属性、轻微调整层级 → 属于小幅改版,可自愈;
控件文字修改、功能区域删除、新增完全不同业务弹窗 → 判定业务变更,终止自愈。
第二层:业务语义匹配(核心优势)
不单纯匹配文字,结合上下文理解功能:
例:页面存在两个 “提交” 按钮,一个登录表单、一个反馈弹窗;
DOM 简单匹配极易混淆,但大模型根据操作意图登录表单提交,能精准锁定表单内的提交按钮,规避误匹配。
第三层:生成最优定位表达式
模型遍历页面有效节点,结合业务语义生成高容错相对定位,而非脆弱绝对路径,例如:
原始失效定位://*[@id="submit_123random"]
LLM 输出修复后定位://form[contains(@class,"login-form")]//button[text()="提交"]
步骤 4:校验、缓存并替换脚本定位
自动化引擎拿到模型输出的新选择器,先执行一次元素查找校验,验证是否可用;
校验通过则自动更新脚本内的定位规则,持久存入数据库缓存,下次执行直接复用,无需重复调用大模型;
缓存本次自愈日志:旧定位、新定位、页面改动原因、大模型推理记录,用于后续模型优化。
步骤 5:恢复流水线继续执行
定位更新完成后,跳过异常中断流程,继续执行下一步测试步骤,保障 CI/CD 无人值守运行。
 
四、多模态大模型增强方案(图文联合推理)
纯文本 LLM 仅解析 HTML,遇到 Canvas、图片按钮、无 DOM 原生 APP 存在局限;
采用图文多模态大模型时,会额外传入页面截图:
LLM 同时读取 HTML 文本 + 截图视觉信息;
结合 OCR 识别文字、控件图像位置双重语义;
对无 DOM 结构的安卓 /iOS 原生控件,直接输出屏幕坐标实现点击自愈。
 
五、相比 DOM / 视觉自愈的独有技术优势
具备业务理解,大幅降低误自愈
DOM、CV 只做表层特征匹配,无法区分同名不同功能控件;LLM 依靠操作上下文语义精准区分。
自动区分 “可自愈” 和 “需人工修改”
传统自愈机制只要找到相似元素就自动修复,业务改版后会错误执行无关按钮,产生大量虚假通过;大模型可智能阻断无效自愈,减少漏测风险。
适配复杂微服务、多页面长流程用例
长链路自动化步骤多、页面结构复杂,模型能记忆整条流程上下文,跨页面连贯推理。
自愈规则可持续自优化
平台将所有自愈历史数据作为微调数据集,持续优化私有大模型,业务越跑,自愈判断越精准。
 
六、落地限制与配套优化技术
调用成本与响应耗时
公有大模型接口存在延迟、计费开销;企业多采用本地私有化小 LLM 做轻量化自愈推理,兼顾速度与成本。
Prompt 工程约束
需要标准化结构化提示词,限制大模型自由输出,保证返回统一、可直接解析的 XPath/CSS,避免格式混乱。
缓存机制减少重复调用
同一页面、同一控件修复后永久缓存新定位,仅页面再次发生改动时才重新调用大模型推理。
 
七、极简实例演示
录制脚本意图:点击登录表单下的【登录】按钮,旧定位依靠随机 id 失效;
页面改版后 id 全部更换,仅保留文字与表单结构;
LLM 接收:操作意图 + 旧 HTML + 当前 HTML;
模型推理:仅修改控件 id,业务登录按钮存在,可自愈;
输出新 xpath://div[@class="login-box"]//button[contains(text(),"登录")];
引擎替换定位,脚本正常执行,完成自愈。
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系SPASVO小编(021-60725770-8054),我们将立即处理,马上删除。
沪ICP备07036474号 2003-2026 版权所有 上海泽众软件科技有限公司 Shanghai ZeZhong Software Co.,Ltd.
微信
咨询

添加客服微信 欢迎咨询测试工具和测试服务

微信客服
问题
反馈
产品
画册

扫描二维码下载泽众软件企业宣传册

产品画册
返回
顶部

方案咨询

×
提交信息

电话咨询,400-035-7887,安排专业技术售前给您解答(产品试用、技术交流、服务咨询和商务报价)。

您的信息已成功提交!

我们的客服人员稍后会与您联系