不写一行代码也能测?揭秘AI Agent自动化测试的核心原理

张开发
2026/4/18 7:12:39 15 分钟阅读

分享文章

不写一行代码也能测?揭秘AI Agent自动化测试的核心原理
不写一行代码也能测?揭秘AI Agent自动化测试的核心原理前言最近在研究AI Agent在自动化测试中的应用,踩了不少坑,也有些心得想记录下来。我的核心问题是:能不能让AI自己操作App,完成自动化测试?不写脚本、不维护元素定位器,说一句话就让AI去执行测试。答案是可以的,这篇文章就来聊聊背后的原理。本文主要讲清楚三件事:AI Agent自动化测试是怎么工作的其中最核心的技术——坐标识别与坐标转换这个思路能给我们的自动化测试带来什么启发整体架构大概是这样:一、AI Agent自动化测试是什么先说我的理解:AI Agent本质上是一个"会看图、会思考、能执行"的智能体。传统自动化测试大家都熟悉:要写代码要找元素定位器(XPath、CSS)UI一变,脚本全废AI Agent的思路完全不同:你说一句话,告诉它要做什么它截一张图,理解当前界面它决定下一步该干什么它执行操作(点击、输入、滑动)它验证结果对不对整个过程不需要你去写具体的操作代码,它自己会"看"着办。二、技术架构整体架构分三层:┌─────────────────────────────────────┐ │ 用户交互层:自然语言输入测试任务 │ ├─────────────────────────────────────┤ │ AI Agent核心层: │ │ - 意图理解(NLU) │ │ - 界面感知(多模态视觉理解) │ │ - 动作规划(决策下一步) │ │ - 工具调用(执行具体操作) │ ├─────────────────────────────────────┤ │ 执行引擎层:ADB/Tidevice/Airtest │ └─────────────────────────────────────┘核心是中间那层——AI Agent的大脑。三、核心技术原理3.1 多模态大模型选型这块是我觉得最有意思的部分。openAutoGLM的实现方式:openAutoGLM底层用的是智谱的autoglm-phone在线API。说白了就是智谱提供了一个接口,你把截图和任务发过去,它返回告诉你该点哪里、该输入什么。但这里有个更骚的操作:你也可以自己部署开源本地版的autoglm-phone-9b,跑在自己的机器上。不依赖外部API,响应更快,数据也更安全。更重要的是:你可以封装任何支持OpenAI SDK格式的接口,只要是多模态大模型就行——GPT-4V、Claude Vision、GLM-4V,通通可以。# 封装一个统一的接口,兼容各种多模态模型classMultiModalClient:def__init__(self,model_type='openai'):ifmodel_type=='openai':self.client=OpenAIClient()elifmodel_type=='zhipu':self.client=ZhipuClient()# 智谱APIelifmodel_type=='local':self.client=LocalClient()# 本地部署的autoglm-phone-9b# 统一接口,底层换什么模型都行defanalyze_screen(self,screenshot,task):# 统一的分析接口returnself.client.vision_chat(screenshot,task)这样你就有很大的自由度了——可以用在线API快速验证,也可以本地部署追求稳定性和隐私。3.2 意图理解用户输入一段话,AI要理解用户想干什么。defparse_intent(user_input):"""把自然语言转换成可执行的步骤"""prompt=f""" 用户任务:{user_input}请分解为具体步骤,输出JSON格式: - steps: 执行步骤列表 - verification: 验证点 """re

更多文章