最近在整理笔记的时候发现之前关注过几款 ai 的自动化测试工具,如今半年过去了,正好可以拿这几款工具来回顾一下 AI 在自动化方向上的进展。

TaxyAI

这应该是印象中比较早期的 ai 自动化测试工具了。

该工具的具体形态是 chrome 浏览器的扩展,只要用自然语言输入一个指令,比如给 fred 发一封邮件给,工具就会自动在浏览器端完成操作。

项目出道即巅峰,从发布之初到现在没有任何进展。

本质上就是 1 个 demo,可以不用关注太多。

地址:https://github.com/TaxyAI/browser-extension

BrowserGPT

这个项目允许你使用自然语言控制浏览器。它将 OpenAI 的 GPT-4 与 Playwright 库集成,实现无缝的浏览器导航。GPT-4 生成代码片段,Playwright 执行这些代码来完成指定任务。

之前有写过文章讲解这个工具的实现,有兴趣的同学可以翻一下。

目前该项目的版本还是 1.0,最新的更新记录停留在了 4 个月前,也就是 6 月份。

更新的内容也只是修改 dev 的 dependent,与功能加强没有什么关系。

所以该项目现阶段可能也不会有什么进展了,应该也不需要过多的关注。

项目地址:https://github.com/mayt/BrowserGPT

UFO

UFO:由微软开发的专注于 Windows 操作系统交互的 UI 代理

它可以通过理解用户的自然语言指令和屏幕的视觉内容,自动执行一系列复杂的任务。

比如“删除 Word 文档中的所有图片”或“在 PowerPoint 文稿中添加一个新幻灯片”。

它结合了 GPT 4-V,能够理解和 Windows 应用程序的图形用户界面(GUI)并执行操作。

UFO 能够在 Windows 应用程序中执行各种操作,如点击按钮、填写表单、浏览文件等,就好像一个人在使用鼠标和键盘操作电脑一样。

我觉得称之为 AI 赛博牛马。

该工具由微软出品,背靠大树好乘凉,输出也相对稳定,目前最新的版本是 9 月 8 号发布的 v1.1.0。

稍微看了一下提交记录,这个项目似乎只有 1 个开发提交代码,协作属性不强,可能微软在这上面投入的资源并不是很多吧。

谨慎看好,可以关注一波先。

工作原理

UFO 的工作原理基于先进的视觉语言模型技术,特别是 GPT-Vision,以及一个独特的双代理框架,使其能够理解和执行 Windows 操作系统中的图形用户界面(GUI)任务。以下是 UFO 工作原理的详细解释:

1、双代理框架

双代理架构:UFO 由两个主要代理组成,AppAgent 和 ActAgent,分别负责应用程序的选择与切换,以及在这些应用程序内执行具体动作。

应用程序选择代理(AppAgent):负责决定为了完成用户请求需要启动或切换到哪个应用程序。它通过分析用户的自然语言指令和当前桌面的屏幕截图来做出选择。一旦确定了最适合的应用程序,AppAgent 会制定一个全局计划来指导任务的执行。

动作选择代理(ActAgent):一旦选择了应用程序,ActAgent 就会在该应用程序中执行具体的操作,如点击按钮、输入文本等。ActAgent 利用应用程序的屏幕截图和控件信息来决定下一步最合适的操作,并通过控制交互模块将这些操作转化为对应用程序控件的实际动作。

2、 控制交互模块

UFO 的控制交互模块是将代理识别的动作转换为应用程序中实际执行的关键组成部分。这个模块使 UFO 能够直接与应用程序的 GUI 元素进行交互,执行如点击、拖动、文本输入等操作,而无需人工干预。

3、多模态输入处理

UFO 能够处理多种类型的输入,包括文本(用户的自然语言指令)和图像(应用程序的屏幕截图)。这使 UFO 能够理解当前 GUI 的状态、可用控件和它们的属性,从而做出准确的操作决策。

4、用户请求解析

当接收到用户的自然语言指令时,UFO 首先解析这些指令,以确定用户的意图和所需完成的任务。然后,它将这个任务分解成一系列子任务或操作步骤,这些步骤被 AppAgent 和 ActAgent 按顺序执行。

5、应用程序间的无缝切换

如果完成用户请求需要多个应用程序的操作,UFO 能够在这些应用程序之间无缝切换。它通过 AppAgent 来决定何时以及如何切换应用程序,并通过 ActAgent 在每个应用程序中执行具体的操作。

6、自然语言命令到 GUI 操作的映射

UFO 的核心功能之一是将用户的自然语言命令映射到具体的 GUI 操作上。这一过程涉及到理解命令的意图,识别相关的 GUI 元素,以及生成和执行操作这些元素的动作。

通过这种方式,UFO 可以自动完成从文档编辑和信息提取到电子邮件撰写和发送等一系列复杂的任务,大大提高用户在 Windows 操作系统中工作的效率和便捷性。

GitHub:https://github.com/microsoft/UFO

论文:https://arxiv.org/abs/2402.07939

UFO 的使用方式其实非常简单,就是想要做什么就用自然语言去发号施令就好了,有兴趣的同学可以试试。

总结

ai 在自动化测试工具上的探索目前稍显沉闷,并没有杀手级的应用涌现出来。

事情可以分两面看。

首先这可能意味着在当前的技术条件下,使用 ai 深度介入自动化测试可能还有一定的困难和壁垒,导致目前实用性很强的应用还没有出现;

其次这也给我们留下了一定的发挥空间,特别是在创业领域。AI 深度介入自动化测试的应用尚未完全成熟,这反而意味着市场上存在巨大的机会。 创业团队可以抓住这个尚未饱和的市场,开发出真正能够解决实际痛点的 AI 自动化测试产品。