# DroidBot - 多平台自动化 UI 测试框架 DroidBot 是一个轻量级的自动化 UI 测试框架,支持多平台(目前支持 Android)。通过智能的 UI 探索策略和可扩展的架构设计,帮助开发者进行应用测试和 UI 自动化。 ## 特性 - **多平台支持**: 采用抽象工厂模式,易于扩展新平台 - **智能探索**: 基于记忆引导的 UI 探索策略 (MemoryGuidedPolicy) - **CV 模式**: 支持计算机视觉识别 UI 元素 - **GuiAgent 集成**: 可集成 LLM 驱动的 GUI 代理处理复杂场景 - **脚本支持**: 支持自定义脚本控制测试流程 ## 快速开始 ### 安装 ```bash cd DroidBot pip install -e . ``` ### 运行 ```bash python start.py -d -a -o ``` ### 主要参数 | 参数 | 说明 | |------|------| | `-d` | 设备序列号 | | `-a` | 被测应用包名 | | `-o` | 输出目录 | | `-policy` | 探索策略 (memory_guided, manual, none) | | `-cv_mode` | 启用 CV 模式 | | `--enable_guiagent` | 启用 GuiAgent | ## 架构 ``` droidbot/ ├── core/ # 核心抽象层 │ ├── abstract_device.py # 设备抽象基类 │ ├── abstract_device_state.py # 状态抽象基类 │ ├── abstract_input_event.py # 事件抽象基类 │ └── platform_factory.py # 平台工厂 ├── platforms/ # 平台实现 │ ├── android/ # Android 实现 │ └── ios/ # iOS 预留 ├── input_policy.py # 输入策略 ├── input_manager.py # 输入管理器 └── utg.py # UI 转换图 ``` ## 扩展新平台 参见 [PLATFORM_GUIDE.md](./PLATFORM_GUIDE.md) 了解如何添加新平台支持。 ## 许可证 MIT License