0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

AppAgent让移动App应用测试更轻松

vliwulianw 来源:软件质量报道 2023-12-26 10:26 次阅读

AppAgent 的创新技术值得我们测试人员的关注。

最近大语言模型(LLMs)的进展导致了智能代理(Agent)的创建,这些代理能够执行复杂的任务。而由腾讯团队开发的AppAgent, 其智能代理能力可以用于操作任何 App,它在 50 个复杂手机任务上展示了强大的能力。

这项技术通过引入一种基于大型语言模型(LLMs)的多模态智能代理(Agent)框架,赋予了智能体操作智能手机应用的能力。与传统的智能助手如 Siri 不同,AppAgent 不依赖于系统后端访问,而是通过简化的操作空间来操作智能手机应用程序,可以模拟人类的点击和滑动等操作,直接与手机应用的图形用户界面(GUI)互动。这种独特的方法不仅提高了安全性和隐私性,还确保了智能体能够适应应用界面的变化和更新,从而扩大了它在各种应用程序中的适用性。

AppAgent 的核心在于其创新的学习方式,智能体可以通过自主探索或观察人类演示来学习如何导航和使用新应用。在自主探索过程中,。这个过程还可以通过观察少数几个人类演示来加速,使智能体能够更快地理解复杂功能。

AppAgent分为两个阶段,分别称为探索阶段和部署阶段。在自主探索阶段,AppAgent智能体通过一系列预定义的动作与应用互动,观察不同应用程序的用户界面交互(每个动作带来的界面变化),AppAgent与智能手机应用程序进行交互,并从结果中学习,所学到的知识被精心编制成文件(构建知识库)。一旦这个学习阶段完成,AppAgent变得擅长使用应用程序,就准备好行动了,即在探索阶段之后的部署阶段,AppAgent利用编制在此文档中的信息来高效地操作和导航应用程序,完成不同应用程序中的各种复杂任务。

ab92392a-a217-11ee-8b88-92fbcf53809c.png

(图1 框架的两阶段方法:探索阶段和部署阶段)

为了验证其实用性,研究团队对 AppAgent 进行了广泛测试,覆盖了社交媒体、电子邮件、地图、购物以及复杂的图像编辑工具等 10 种不同的应用中的 50 个任务。测试结果证明,AppAgent 在处理各种高级任务方面表现出色,显示出其适应性、用户友好性以及高效的学习和操作能力。

1.实验环境

实验环境建立在Android操作系统的命令行界面(CLI)上,允许AppAgent与智能手机应用程序进行交互。代理接收两个关键输入:显示应用程序界面的实时截图和详细的交互元素的XML文件。为了增强AppAgent识别和无缝交互这些元素的能力,我们为每个元素分配了一个唯一的标识符。这些标识符要么来自XML文件中的资源ID(如果提供),要么是通过组合元素的类名、大小和内容构建而成。这些元素以半透明的数字叠加在截图上。这有助于AppAgent在不需要指定屏幕上精确位置的情况下准确交互,并增强了AppAgent在控制手机时的精度。

行动空间:AppAgent的行动空间反映了人们在智能手机上的常见交互方式:轻触和滑动,设计了四种基本功能,并用到Android的两个系统级的操作:

Tap(element : int):这个函数模拟对屏幕上标有数字的UI元素进行轻触。例如,tap(5)将点击标有“5”的元素。

Long_press(element : int):这个函数模拟对UI元素进行长按(1秒)。

Swipe(element : int, direction : str, dist : str):在指定方向(上、下、左、右)和距离(短、中、长)上滑动一个元素。例如,swipe(21, "up", "medium")将在元素“21”上向上滑动一段中等距离。

Text(text : str):为了绕过低效的虚拟键盘输入,这个函数在虚拟键盘可见时直接将文本输入到输入框中。例如,text("Hello, world!")输入字符串“Hello, world!”。

Back():系统级功能,帮助代理返回到前一个UI页面,特别适用于退出不相关页面。

Exit():特地的函数用于结束进程,通常在成功完成任务时调用。

这些预定义的动作旨在简化AppAgent的交互,特别是通过消除对精确屏幕坐标的需求,这对于大语言模型(LLM)准确预测来说可能会带来挑战。

2. 探索阶段

探索阶段是这个框架的核心。

在此阶段,AppAgent被分配一个任务,并开始自主与UI元素进行交互,通过试错学习智能手机应用程序的功能和特性

AppAgent使用不同的动作,并观察应用界面的变化,以了解其工作原理。由LLM驱动的AppAgent试图通过分析每个动作之前和之后的截图来弄清楚UI元素的功能和特定动作的影响。这些信息被编制成一个记录了对不同元素应用的动作效果的文档。

当一个UI元素被多次操作时,AppAgent将根据过去的文档和当前观察更新文档以提高质量。为了使探索更加高效,如果当前UI页面似乎与应用的主要任务无关,如广告页面,AppAgent将停止进一步探索UI元素。在这种情况下,它使用Android系统的Back()函数返回到前一个UI页面。

与随机探索(如深度优先搜索和广度优先搜索)相比,这种目标导向的探索方法确保代理专注于对应用程序有效操作至关重要的元素。AppAgent还利用LLM对用户界面的现有知识来提高探索效率。当AppAgent完成分配的任务时,探索停止。

通过观看演示进行探索。另一种常见且通常更有效的探索方法涉及AppAgent观察人类示范。这些演示为代理提供了高效使用应用程序的示例,特别是对于理解可能通过自主交互难以发现的复杂功能。在这种方法中,一个人类用户操作应用程序,而AppAgent观察并记录人类使用的元素和动作。这种策略缩小了探索空间,防止代理与无关的应用页面进行交互,使其与自主交互相比成为更加简化和高效的方法。

3. 部署阶段

在探索阶段之后,代理已经具备了执行复杂任务的能力,这是基于其积累的经验。当给定任务时,代理遵循一种逐步的方法,每一步都包括对当前UI截图的访问和动态生成的文档,详细说明了UI元素的功能以及动作对当前UI页面的影响。提示还提供了所有可用动作的详细解释。

在每一步中,代理首先被要求提供对当前UI的观察,然后阐述其对任务和当前观察的思考过程。随后,代理开始执行动作,调用可用的函数。在每个动作之后,代理总结了交互历史和当前步骤中所采取的动作。这些信息被纳入下一个提示中,为代理提供了一种记忆形式。这种细致的方法增强了代理行动的可靠性和可解释性,从而促进了更明智的决策制定。当代理确定任务已经完成时,部署阶段停止,此时它可以通过执行Exit()动作退出流程。

aefef242-a217-11ee-8b88-92fbcf53809c.gif









审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • GUI
    GUI
    +关注

    关注

    3

    文章

    610

    浏览量

    38791
  • XML技术
    +关注

    关注

    0

    文章

    15

    浏览量

    5990
  • CLI
    CLI
    +关注

    关注

    1

    文章

    79

    浏览量

    8404

原文标题:震撼:AppAgent让移动App应用测试更轻松

文章出处:【微信号:软件质量报道,微信公众号:软件质量报道】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    bootloader开多线程做引导程序,跳app初始化后直接进hardfualt,为什么?

    如标题,想做一个远程升级的项目,bootloader引导区域和app都是开多线程跑的,就是自己写了个小的任务调度器,没什么功能主要是想程序快速的响应,延时不会对其他程序造成堵塞,程序测试
    发表于 04-18 06:07

    机智云开发者中心:让移动APP应用开发更智能化

    移动应用市场的蓬勃发展中,开发者们面临着不断提高效率和创新的挑战。为了帮助开发者更好地实现移动应用开发的目标,机智云物联网的新版开发者中心,通过自动生成移动APP应用的功能,让应用开
    的头像 发表于 03-26 16:45 118次阅读
    机智云开发者中心:让<b class='flag-5'>移动</b><b class='flag-5'>APP</b>应用开发更智能化

    文心一言APP上线数字分身功能

    文心一言APP近日上线了一项令人兴奋的新功能——数字分身。这一功能允许用户轻松创建自己的个性化虚拟形象,为用户带来全新的互动体验。
    的头像 发表于 02-04 10:32 539次阅读

    单片机供电模块测试方案

    用户自己设计的电路板或者是单片机电源,是否能够持续稳定的输出,对设备的运行状态有着至关重要的影响。所以用户自制的电源能否按工程师的设定要求给设备供电,是电源的一项基础测试。使用ITECH艾德克斯IT8500+系列电子负载,能让这项测试变得
    的头像 发表于 01-20 10:20 409次阅读
    单片机供电模块<b class='flag-5'>测试</b>方案

    GBT 37729-2019《信息技术 智能移动终端应用软件(APP)技术要求》

    GB/T 37729-2019是中国国家标准之一,旨在规范智能移动终端应用软件(APP)的技术要求。该标准提供了移动终端APP的技术要求,包括功能性、性能效率、兼容性、易用性、可靠性、
    的头像 发表于 01-10 10:07 133次阅读

    使用App盾方案加固移动应用

    拥有对企业数据访问权限的易受攻击的应用程序是此类威胁的潜在渠道,并且在与受限制的商业环境进行交互时很少受到监控。大量的应用程序存储在App Store中,其中很大一部分是未经缓解的移动应用程序
    的头像 发表于 01-08 15:09 140次阅读

    使用WebLOAD构建负载测试方案

    WebLOAD的强大记录和脚本编制,关联,拖放构建块,参数化和响应验证使您可以更轻松,更有效地构建负载测试方案。使用WebLOAD的本机JavaScript脚本语言,以任何逻辑和集成来扩展和增强脚本。
    的头像 发表于 09-11 14:47 332次阅读
    使用WebLOAD构建负载<b class='flag-5'>测试</b>方案

    USB移动充电器电路图讲解

    在笔记本电脑和计算机中使用 USB 移动充电器插座可以更轻松地为移动设备充电。该电路为您的手机充电提供 4.7 伏的受控电压。 USB插座提供5伏直流电源和100毫安电流,足以为手机轻轻充电。我们还可以利用该电路在路上为手机充电
    发表于 08-03 18:25 2126次阅读
    USB<b class='flag-5'>移动</b>充电器电路图讲解

    内卷时代如何上云,华为云 Web 及移动 App 上云又有何亮点?

    在当今的数字化时代,Web 和移动 App 已经成为了企业与客户、合作伙伴和员工之间的重要沟通渠道。随着用户需求的不断变化和竞争的日益激烈,企业需要快速开发、部署和更新 Web 和移动 App
    的头像 发表于 07-03 19:38 188次阅读

    干货专栏 | 这么做让电池耗电分析更轻松!电子测试工程师必备技能,建议收藏!

    找仪器、选仪器、用仪器一站解决,很省心在日常工作中,电子测试工程师们经常会遇到电池耗电分析和直流至直流转换器效率测量之类的问题,此时使用电子负载生成任意波形,就可以更轻松地完成测试。那么今天我们
    的头像 发表于 07-03 10:00 437次阅读
    干货专栏 | 这么做让电池耗电分析<b class='flag-5'>更轻松</b>!电子<b class='flag-5'>测试</b>工程师必备技能,建议收藏!

    网络语音对讲作为内部通讯调度使您工作更轻松

    网络语音对讲作为内部通讯调度使您工作更轻松 网络语音对讲是一款采用了ARM+DSP架构,接收网络音频流,实时解码播放;配置了麦克风输入和扬声器输出,作为网络数字广播的播放终端。主要用于银行、部门机构
    的头像 发表于 06-28 09:16 250次阅读
    网络语音对讲作为内部通讯调度使您工作<b class='flag-5'>更轻松</b>

    NanoBeacon APP使用教程

    APP
    橙群微电子
    发布于 :2023年06月19日 10:11:41

    SAP Business One Sales移动APP的功能应用和优势#iphone #sap

    APP
    jf_51833836
    发布于 :2023年06月16日 18:00:16