使用 GPT4V+AI Agent 做自动 UI 测试的探索
内容提要
本文探讨了使用GPT进行UI测试的可能性,介绍了目前UI测试存在的问题和两种解决方案。一种是使用GPT生成Webdriver驱动脚本,效果一般;另一种是结合Playwright、SoM视觉标记、GPT4Vison和AutoGen实现GPT像人一样思考和测试。文章还提到了一些问题和未来的想法。
延伸解读
传统UI自动化测试的瓶颈
文章指出,传统UI自动化测试工具如Webdriver和图像diff工具,投入产出比低,维护成本高。Webdriver需要解析DOM查找元素,UI变化时需重新识别,效率低下;图像工具如Sikuli复用性差,分辨率或图片微调即失效。这些痛点导致许多团队放弃自动化测试,或陷入做与不做的纠结。
GPT+AutoGen方案的核心思路
该方案模拟人类测试行为:Playwright充当“手”执行浏览器操作,SoM视觉标记辅助GPT4V识别元素充当“眼”,GPT4+AutoGen作为“大脑”协调控制。通过注入JS标记页面元素并生成坐标,GPT4V根据标记规划操作路径,AutoGen调度函数执行点击、输入等动作,实现端到端的自动化测试。
实验中的主要挑战
作者在实验中发现,GPT在中文语境下识别效果不佳,对中文prompt理解有误,需不断优化提示语,尤其是页面中的中文元素。AutoGen处理预定义动作时也存在问题,需要调优。此外,GPT4V的调用成本高昂,可能限制该方案的规模化应用。
未来优化方向
为降低成本和提升效率,作者提出将图像识别本地化处理,结合现有测试方法减少Token消耗和响应时间。同时,面向业务场景,可将系统使用手册和PRD文档投喂给GPT进行训练,增强其系统识别和测试能力,使自动化测试更贴合实际业务需求。
Q&A
使用GPT进行UI测试的主要问题是什么?
当前UI测试的主要问题包括元素识别效率低和图像工具复用性差。
GPT在UI测试中有哪些应用方案?
使用GPT进行UI测试的两种方案是生成Webdriver驱动脚本和模拟人类思考进行测试。
第二种方案如何实现更高效的UI测试?
第二种方案结合Playwright、SoM视觉标记、GPT4Vison和AutoGen,通过模拟人类思维和操作来实现更高效的测试。
Playwright在UI测试中扮演什么角色?
Playwright用于浏览器操作,包括页面图像的获取和各种浏览器操作。
使用GPT进行中文环境下的UI测试存在哪些问题?
实验中发现GPT在中文环境下的识别效果不佳,需要优化提示语。
未来在UI测试中对GPT的想法是什么?
未来的想法包括本地化处理图像识别和增强GPT的系统识别能力。