droidrun-APP端UI自动化测试

🌟 前言

在 APP 迭代频繁的当下,UI 自动化测试用例维护一直是效率瓶颈。droidrun 框架通过自然语言驱动 + 视觉大模型的创新模式,实现了安卓 /iOS 双端自动化测试的智能化与低维护成本,为测试工程师提供了全新解决方案。

📌 框架核心能力与优势

🔧 技术选型与特性

    • 跨平台支持:同时兼容 Android 与 iOS,一套框架覆盖双端测试(GitHub 地址:
      droidrun 核心框架
      Androidportal
      iOSportal
    • 智能元素识别:自动生成 AccessibilityTree 获取页面元素,结合截图视觉识别,摆脱传统坐标定位的脆弱性。
    • 自然语言驱动:直接通过中文指令(如 “打开抖音→搜索家常菜”)驱动测试,无需编写复杂脚本。
    • 可定制性:基于 Python 代码架构,支持二次开发与业务逻辑定制。
 

环境搭建:

🛠️ 环境搭建指南(分端详解)

🤖 Android 端配置

  1. 安装与启动:
    • 从 release 页下载droidrun-portal.apk并安装。
    • 打开 APP,进入系统「设置」→「辅助功能」→「已安装的服务」→ 启用「droidrun portal」,此时页面元素会显示框选标记。
  2. 命令行工具:
    • 获取页面元素:adb shell am broadcast -a com.droidrun.portal.GET_ALL_ELEMENTS
    • 查看元素日志:adb logcat | grep DROIDRUN

🍎 iOS 端配置

  1、安装ios-portal,拉取代码,使用xcode打开droidrun-ios-portal.xcodeproj,编译安装droidrun portal APP

      2、点击文件夹的droidrunportalserver,点击执行,安装droidrun-runner的APP成功。这个APP启动一个httpserver,支持获取页面的AccessbilityTree、等操作。供droidrun的应用在iosTools中调用

  • 启动上述两个APP,即可开始后续的自动化操作
 

🧪 自动化测试执行示例

📝 Python 测试脚本模板

 1     tools = AdbTools(serial="MXG0222222007933")
 2    
 3     deepseek_llm = load_llm(
 4         "DeepSeek",
 5         model="deepseek-chat",
 6         api_key="sk-cbb06f4d26ae4441922a1bd61d48fea0",  # or set DEEPSEEK_API_KEY
 7         temperature=0.2
 8     )
 9     
10     message ="启动抖音APP,等到完全进入到首页后点击右上角的搜索按钮,搜索关键字‘家常菜’。"
11     # Create agent
12     droid_agent = DroidAgent(
13         goal=message,
14         llm=deepseek_llm,  # Language model
15         tools=tools,  # Tool provider
16         personas=[UI_EXPERT],
17         max_steps=15,
18         timeout=1000,
19         reasoning=True,
20         reflection=False,
21         enable_tracing=False,
22         debug=True,
23         save_trajectories=True
24     )
25     # 创建一个新的上下文对象,确保传递 workflow 参数
26     ctx = Context(workflow=droid_agent)
27     await droid_agent.run(ctx=ctx)

 

📊 任务分解示例(大模型自动生成)

大模型根据提示词,自行分解任务流程,并自动生成python代码,依次完成任务:

 

 

⚙️ 框架优缺点与改进方向

✅ 优势亮点

  • 跨平台一致性:一次开发,双端运行,降低维护成本。
  • 低代码门槛:自然语言驱动,测试人员无需精通编程即可编写用例。
  • 视觉智能加持:结合图片识别,应对动态元素与 UI 变更场景。

⚠️ 现存挑战

  • 执行效率:自动化流程速度较慢,复杂用例耗时较长。
  • 稳定性:部分场景存在失败概率(如元素识别延迟)。
  • 大模型限制:当前仅支持 DeepSeek 平台,模型选择较少。

📌 未来优化方向

  • 支持脑图用例直接转换为 Promot 指令,实现 “可视化用例→自动化执行” 闭环。
 

 

  • 扩展大模型兼容性,支持更多国产 LLM(如百川、智谱 AI)。
posted @ 2025-07-07 16:34  小屁妞  阅读(632)  评论(0)    收藏  举报