Skip to content

lingcetech/VisioBotClient

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VisioBot

AI 实现的 UI 自动化测试项目,基于大语言模型驱动的智能 UI 测试工具。

Yangfan QR Code

项目概述

VisioBot 是一个基于 AI 技术的 UI 自动化测试平台,通过大语言模型理解测试需求,自动生成测试用例并执行,支持多平台设备管理和测试报告生成。

核心功能

  • 🤖 AI 驱动测试:基于大语言模型自动理解需求、生成测试用例
  • 📱 多设备管理:支持 Android 设备的连接、监控和管理
  • 🎯 智能定位:自动识别 UI 元素,无需手动编写定位表达式
  • 📊 实时测试报告:生成详细的测试执行报告和截图
  • 🌐 Web 界面:提供直观的 Web 管理界面
  • 🔄 自动化执行:支持测试任务的自动调度和执行
  • 💬 自然语言交互:支持通过自然语言描述测试需求

技术栈

后端

  • 语言:Go 1.23.0
  • 框架:Gin Web 框架
  • 数据库:GORM + SQLite
  • AI 集成:langchaingo (LLM 调用)
  • 设备通信:ADB (Android Debug Bridge)
  • 日志:Zap + Zerolog
  • WebSocket:实时通信

前端

  • 框架:Vue.js
  • 构建工具:Vite

移动端

  • Android:ADB + UiAutomator2

项目结构

VisioBot/
├── executor/          # 后端执行引擎
│   ├── ai/            # AI 相关功能
│   ├── config/        # 配置管理
│   ├── core/          # 核心服务
│   ├── global/        # 全局变量
│   ├── initialize/    # 初始化逻辑
│   ├── langchaingo/   # LLM 集成
│   ├── llm/           # 大模型工具
│   ├── middleware/    # 中间件
│   ├── model/         # 数据模型
│   ├── router/        # API 路由
│   ├── service/       # 业务服务
│   ├── uiagent/       # UI 代理
│   ├── utils/         # 工具函数
│   ├── websocket/     # WebSocket 处理
│   └── main.go        # 入口文件
├── web/               # 前端应用
│   ├── public/        # 静态资源
│   └── src/           # 源代码
├── apk/               # 测试用 APK 文件
├── adb/               # ADB 相关文档
├── new/               # 技术对比文档
└── README.md          # 项目说明

快速开始

环境要求

  • Go:1.23.0 及以上
  • Node.js:16.0.0 及以上
  • npm/yarn:最新版本
  • ADB:Android Debug Bridge,用于连接 Android 设备

安装步骤

1. 克隆项目

git clone <repository-url>
cd VisioBot

2. 启动后端服务

# 进入执行引擎目录
cd executor

# 安装依赖
go mod tidy

# 启动服务
go run main.go

3. 启动前端服务

# 返回项目根目录
cd ..

# 进入前端目录
cd web

# 安装依赖
npm install

# 启动开发服务器
npm run dev

4. 访问 Web 界面

打开浏览器访问:http://localhost:5173

核心模块说明

1. AI 引擎

基于 langchaingo 实现大语言模型调用,用于:

  • 理解自然语言测试需求
  • 生成测试用例和执行步骤
  • 解析 UI 元素和上下文
  • 智能决策测试执行路径

2. 设备管理

  • 自动发现和连接 Android 设备
  • 实时监控设备状态
  • 支持设备分组和管理
  • 提供设备操作 API

3. UI 自动化

  • 基于 ADB 和 UiAutomator2 实现 UI 操作
  • 支持点击、输入、滑动等常用操作
  • 自动截图和元素识别
  • 支持多应用切换

4. 测试执行

  • 支持多种测试执行模式
  • 实时记录测试过程
  • 生成详细测试报告
  • 支持测试用例管理

使用指南

1. 连接设备

  1. 确保设备已开启开发者模式和 USB 调试
  2. 通过 USB 连接设备到服务器
  3. 在 Web 界面中查看已连接设备

2. 创建测试任务

  1. 在 Web 界面中点击「创建任务」
  2. 输入测试需求(支持自然语言描述)
  3. 选择目标设备和应用
  4. 点击「开始测试」

3. 查看测试结果

  1. 在测试任务列表中查看任务状态
  2. 点击任务查看详细执行报告
  3. 查看测试截图和日志
  4. 导出测试报告

配置说明

后端配置

配置文件位于 executor/config/config.go,主要配置项包括:

  • ADB.Path:ADB 工具路径
  • LLM:大模型调用配置
  • Server:服务器端口和地址
  • Log:日志配置

前端配置

配置文件位于 web/src/config,主要配置项包括:

  • API_BASE_URL:后端 API 地址
  • WEBSOCKET_URL:WebSocket 连接地址

架构设计

系统架构

┌─────────────────┐     ┌─────────────────┐     ┌─────────────────┐
│    Web 前端     │────▶│   后端服务      │────▶│   AI 引擎       │
└─────────────────┘     └─────────────────┘     └─────────────────┘
                             │                         ▲
                             ▼                         │
┌─────────────────┐     ┌─────────────────┐     ┌─────────────────┐
│    设备管理     │◀────│   测试执行器    │◀────│   测试用例生成  │
└─────────────────┘     └─────────────────┘     └─────────────────┘
                             │
                             ▼
┌─────────────────┐     ┌─────────────────┐
│    测试报告     │◀────│   数据存储      │
└─────────────────┘     └─────────────────┘

核心流程

  1. 需求输入:用户通过 Web 界面输入测试需求
  2. AI 分析:大语言模型理解需求,生成测试用例
  3. 任务调度:后端服务调度测试任务到目标设备
  4. 设备执行:测试执行器在设备上执行测试用例
  5. 结果收集:实时收集测试结果和截图
  6. 报告生成:生成详细的测试报告

使用文档

开发说明

代码规范

  • 后端 Go 代码遵循 Go 官方规范
  • 前端代码遵循 Vue 最佳实践
  • 提交代码前请运行 lint 检查

构建命令

# 后端构建
cd executor
go build -o visiobot main.go

# 前端构建
cd web
npm run build

测试命令

# 后端测试
cd executor
go test ./...

# 前端测试
cd web
npm run test

贡献指南

  1. Fork 项目
  2. 创建特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 开启 Pull Request

许可证

MIT License

联系方式

更新日志

v0.1.4

  • 增强 AI 引擎能力,优化测试用例生成逻辑
  • 完善设备管理功能,支持更多设备操作
  • 优化 UI 自动化执行效率
  • 改进前端界面,提升用户体验
  • 修复已知 bug,增强系统稳定性

详细版本说明:VisioBot v0.1.4

v0.1.0 (初始版本)

  • 实现基础的设备管理功能
  • 支持 AI 测试用例生成
  • 实现 Web 管理界面
  • 支持 Android 设备测试

致谢

感谢所有为项目做出贡献的开发者们!


VisioBot - AI 驱动的下一代 UI 自动化测试平台

About

VisioBotClient

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors