Elainay
链接
往期整理
  •   历史归档
  •   文章分类
  •   文章标签
E1ainay
Article
14
Category
4
Tags
8
链接
往期整理
历史归档
文章分类
文章标签
Transformers
DroidBot: A Lightweight UI-Guided Test Input Generator for Android
Post on: 2024-11-18
Last edited: 2024-12-18
Views
LLM
Agent
type
status
date
slug
summary
tags
category
icon
password
comment
本文介绍了一个轻量的安卓自动测试输入工具。
ieeexplore.ieee.org
https://ieeexplore.ieee.org/abstract/document/7965248
droidbot
honeynet • Updated Dec 18, 2024

工具设计

  • 首先需要一个安卓设备(模拟器或其他设备)通过adb(需要下载)与电脑连接。
  • 我们采用了一个Adapter模块处理一些低级问题,例如兼容性,连接维持,屏幕大小,指令的发送,输出处理等等。
    • Adapter是我们测试环境和测试算法的一道桥梁,它能够监测设备的状态信息,并将其结构化用于测试算法,另一方面,它能将算法的测试输入转化成适用设备的指令。
  • 其次,我们采用Brain模块接受设备信息并进行处理
overview
overview

具体实现

轻量的监测和输入模型

通过adb获取的数据可分为三类:
👉
  1. GUI信息:记录屏幕的截图和UI的层次结构。
  1. 进程信息:利用ps指令监测系统级进程,利用dumpsys指令监测app级的相关进程。
  1. 日志:包括测试输入触发的method方法以及app日志,可通过logcat召回。
其中输入可以是触摸滚动,文件上传,传感器等…并提供了一系列方便的API用于信息获取和测试输入。

动态的模型构建

模型其实是一个有向图,基于运行监测的信息动态构建。其中,图的节点记录了一个UI的信息和运行的进程信息,边记录了测试输入触发状态转换的方法和详细日志;当两个UI内容不一致时视为不同节点。

量化测试输入的有效性

我们可以通过方法追踪统计每个输入使用的app和sys方法,还可以统计敏感行为的触发个数。

源码解读(结合AutoDroid)

  • droidbot/device.py调用了adapter模块中的许多底层的方法,例如连接,信息的获取等等,其中调用的get_views()方法利用adapter/droidbot_app.py中实现的Accessibility去获取view的html信息(应该是这样?调试还没有验证出结果)
  • droidbot/device_state.py下,有许多状态转换的方法,这里会对state进行解析,构建view树,并得到可能的输入(input,click等等)
  • device会利用input_policy.py中的prompt和LLM接口,结合上下文去完成思考,做出行动
  • droidbot/rl/action.py可以结合agent指令执行任务
滤去节点,合并
  • Author:E1ainay
  • URL:https://e1ainay.top/article/DroidBot
  • Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!
Relate Posts
Attacking Vision-Language Computer Agents via Pop-ups
Enabling Conversational Interaction with Mobile UI using Large Language Models
LlamaTouch: A Faithful and Scalable Testbed for Mobile UI Task Automation
PERSONAL LLM AGENTS: INSIGHTS AND SURVEY ABOUT THE CAPABILITY, EFFICIENCY AND SECURITY
AutoDroid: LLM-powered Task Automation in Android
LlamaTouch: A Faithful and Scalable Testbed for Mobile UI Task AutomationPERSONAL LLM AGENTS: INSIGHTS AND SURVEY ABOUT THE CAPABILITY, EFFICIENCY AND SECURITY
Loading...
Catalog
0%
工具设计具体实现轻量的监测和输入模型动态的模型构建量化测试输入的有效性源码解读(结合AutoDroid)
E1ainay
E1ainay
淡泊明志,宁静致远🍃
Article
14
Category
4
Tags
8
Latest posts
DroidBot: A Lightweight UI-Guided Test Input  Generator for Android
DroidBot: A Lightweight UI-Guided Test Input Generator for Android
2024-12-18
Attacking Vision-Language Computer Agents via Pop-ups
Attacking Vision-Language Computer Agents via Pop-ups
2024-12-16
DM8168开发指南(1):Linux环境准备
DM8168开发指南(1):Linux环境准备
2024-12-16
Enabling Conversational Interaction with Mobile UI using Large Language Models
Enabling Conversational Interaction with Mobile UI using Large Language Models
2024-12-16
LlamaTouch: A Faithful and Scalable Testbed for Mobile UI Task Automation
LlamaTouch: A Faithful and Scalable Testbed for Mobile UI Task Automation
2024-12-16
OI算法模板与思想记录
OI算法模板与思想记录
2024-11-22
Announcement
🎉Welcome to My Blog🎉
📖I’m currently a junior in the University of Electronic Science and Technology of China(UESTC),majoring in Software Engineering.
💡This blog is used to record my learning experiences.
🥳If you have any suggestions,I’d be very glad to communicate with you!
 
Catalog
0%
工具设计具体实现轻量的监测和输入模型动态的模型构建量化测试输入的有效性源码解读(结合AutoDroid)
2024-2025E1ainay.

Elainay | 淡泊明志,宁静致远🍃

Powered byNotionNext 4.7.8.