takahirom/arbigent
AI Agent for testing Android, iOS, and Web apps. Get Started in 5 Minutes. Arbigent's intuitive UI and powerful code interface make it accessible to everyone, while its scenario breakdown feature ensures scalability for even the most complex tasks.
Arbigent (Arbiter-Agent) – AI代理测试框架
是什么 – 一个桌面应用程序(带CLI包装器),允许您使用AI代理编写、运行和管理移动、网页和电视应用的UI级测试。它将高层次目标(例如 “完成教程”)分解为一系列依赖的场景,让非程序员可以通过可视化UI创建这些场景,同时工程师可以从YAML文件中以编程方式执行它们。
核心理念
| 理念 |
为何重要 |
| 场景依赖 |
复杂流程(登录 → 搜索 → 购买)被表示为小的、可重用的步骤,使测试更易于维护。 |
| 混合UI + 代码工作流 |
QA工程师可以在UI中拖放场景;开发者可以从CI流水线中调用相同的YAML。 |
| 跨平台支持 |
支持iOS、Android、网页和电视(包括D-键导航)。 |
| AI驱动的交互 |
代理读取过滤后的UI树和可访问性标签中嵌入的可选AI提示,然后决定点击或滚动。 |
| 模型灵活性 |
默认使用 gpt-4.1,但可切换到更便宜的模型如 gpt-4o-mini。 |
| 图像断言与卡屏检测 |
使用Roborazzi的AI驱动图像断言来验证代理操作是否正确,并在卡住时恢复。 |
| MCP(模型上下文协议)支持 |
外部工具(如安装应用、获取日志)可通过JSON配置的服务器从场景中调用。 |
| 可重用场景 |
类似GitHub Actions的库式“函数”,可带参数调用,减少重复。 |
| Maestro YAML集成 |
现有的Maestro测试流程可作为AI接管前的确定性设置步骤运行。 |
典型工作流
- 连接设备(真实或模拟器)并在Arbigent UI中输入您的AI提供商API密钥。
- 创建场景 – 输入自然语言目标或导入现有Maestro YAML / Android Journeys文件。
- 添加可选钩子 – 自定义初始化/清理代码、MCP服务器调用或可重用场景调用。
- 运行 – 在UI中点击运行,或通过CLI调用(
arbigent run --project-file myproj.yml)。
- 审查 – UI显示UI树、截图和AI生成的操作;失败可通过图像断言检查。
安装
| 平台 |
步骤 |
| macOS(二进制) |
从Releases页面下载UI二进制文件;若macOS阻止,遵循Apple的“仍要打开”说明。 |
| CLI |
brew tap takahirom/homebrew-repo && brew install takahirom/repo/arbigent(需Java 17+)。 |
| 包装脚本 |
生成一个固定版本的包装脚本(arbigent wrapper),首次运行时自动下载正确版本——适用于无需全局安装的CI环境。 |
适合人群
| 角色 |
优势 |
| QA工程师 |
无需编码即可编写UI测试;可用自然语言维护测试。 |
| 开发者 / DevOps |
可从CI中程序化执行、并行分片、AI结果缓存,以及复用现有Maestro/YAML资产。 |
| 产品团队 |
无需编写低级UI脚本,即可在真实设备上快速原型化端到端流程。 |
优缺点(作者观点)
| 方面 |
评分(1–5) |
评论 |
| 速度 |
1 |
受限于LLM延迟和真实设备交互;可通过--shard并行化和结果缓存缓解。 |
| 可维护性 |
4 |
自然语言目标和场景分解能抵御UI改动;可重用场景减少重复。 |
| 利用率(成本) |
1 |
需要设备资源和付费LLM调用(GPT-4o约$0.005/步,$0.02/任务);回放+回退可降低重复AI成本。 |
| 可靠性 |
3 |
内置等待、对话框处理和重试机制有帮助,但模拟器不稳定仍影响运行。 |
| 保真度 |
5 |
在真实/模拟设备上运行,可验证视频播放等视觉方面。 |
许可与社区
- 开源 – 免费使用、修改和分发。仓库欢迎贡献,并提供可重用场景的规范文件。
- 支持 – 作者提醒存在冒充项目的垃圾账号;官方更新来自X账号
@_takahirom_ 和 @new_runnable。
快速入门示例(CLI)
# 安装CLI(Homebrew)
brew tap takahirom/homebrew-repo
brew install takahirom/repo/arbigent
# 运行保存的项目文件
arbigent run --project-file myproject.yml \
--scenario-ids="login-and-play"
总结 – Arbigent是一个专为现代移动/网页/电视应用设计的AI代理测试框架,结合了可视化场景编写与代码优先执行,同时为自定义工具和现有确定性测试资产提供钩子。
相关
- 项目
- 项目
- 项目
Core-Mate/OpenGUI一个用于 Android 的移动 GUI 代理框架,使 AI 代理能够在真实设备上感知并操作应用界面,实现复杂、长期运行的自动化工作流。
- 项目
- 项目
google/adk-web一个用于 Google Agent Development Kit 的开发者 UI,可简化 AI 代理的构建、调试和编排流程。