# EasyTesting
**Repository Path**: joyamon/easy-testing
## Basic Information
- **Project Name**: EasyTesting
- **Description**: EasyTesting 是基于 Django、DRF、SQLite、Bootstrap、HTTPRunner 及 Playwright 的接口与 UI 自动化测试平台。集成大模型(LLM),可按需自动生成功能测试用例,并支持修改与手动新增,用例可导出为 Excel 或 Markdown。平台支持异步执行测试用例与套件,涵盖接口调试、用例管理、自动化执行、报告查看、数据生成、定时调度与监控等全功能。
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: master
- **Homepage**: https://gitee.com/joyamon/easy-testing
- **GVP Project**: No
## Statistics
- **Stars**: 75
- **Forks**: 28
- **Created**: 2025-04-23
- **Last Updated**: 2026-05-30
## Categories & Tags
**Categories**: testing
**Tags**: 接口自动化测试平台, api测试工具, UI自动化测试, llm, AI自动生成测试用例
## README
# EasyTesting
EasyTesting 是一款基于 Django、DRF、SQLite、Bootstrap、HTTPRunner 和 Playwright 构建的接口与 UI 自动化测试平台。平台已集成大模型(LLM)能力,可根据用户需求智能生成功能测试用例,并支持灵活的编辑功能(包括修改和手动新增)。生成的用例可导出为 Excel 或 Markdown 格式。平台支持异步执行测试用例与测试套件,提供接口调试、用例管理、自动化执行、测试报告查看、测试数据生成、定时任务调度与监控等全方位功能。界面设计简约美观,操作流畅、易于上手,致力于为测试团队打造高效、轻量、开源的自动化测试解决方案。
## **`特别提醒,本次版本(v2.2.0)更新集成了AI 大模型能力,python版本需要3.10以上,建议使用python 3.12版本。带来的不便望请谅解`**
## 推荐版本
推荐使用Python 3.10以上版本,这里推荐Python 3.12
```
cryptography==43.0.0
Django==4.2.11
djangorestframework==3.15.2
jsonpath-ng==1.7.0
pydantic>=2.0.0
django-simpleui==2025.5.17
Faker==37.3.0
django-cors-headers==4.3.1
requests>=2.32.5
Pillow==10.1.0
celery==5.3.4
redis==5.0.1
croniter==2.0.1
django-celery-beat==2.5.0
django-cors-headers==4.3.1
xlwt==1.3.0
DBUtils==3.1.2
PyMySQL==1.1.2
pandas==2.3.3
playwright==1.58.0
django-filter==25.1
openpyxl==3.1.5
# 基础依赖
python-dotenv>=1.0.0 # 环境变量加载
# LLM 支持
dashscope>=1.20.0 # 通义千问 SDK
pymupdf>=1.23.0 # PDF 解析
python-docx>=1.0.0 # Word 文档解析
```
## 功能特点
1. **接口测试全流程管理**
支持项目、环境、接口用例、测试套件、测试运行、测试结果和测试报告的完整闭环管理。
2. **AI 自动生成测试用例**
集成 LLM 能力,可根据需求文本或附件内容自动生成功能测试用例,支持规则生成、LLM 生成和混合生成。
3. **需求到用例的结构化流程**
AI 助理模块支持“新建项目 → 录入需求 → 自动生成用例 → 编辑优化 → 导出 Excel/Markdown”的完整链路。
4. **附件解析能力**
支持从 Word、PDF、Markdown、文本、Excel、XMind 等需求附件中提取内容,辅助生成测试用例。
5. **MCP 工具集成**
提供 MCP 服务配置、工具列表读取、工具调用、调用结果展示和调用记录管理,便于连接外部 AI/工具服务。
6. **接口自动化执行**
基于 HTTPRunner/自研执行逻辑支持接口请求、断言校验、响应结果记录、失败状态追踪等能力。
7. **参数提取与上下游传递**
支持通过 JSONPath 从响应中提取参数并保存到环境变量,后续接口可直接引用,实现接口链路串联。
8. **UI 自动化测试**
集成 Playwright,支持 UI 用例、UI 套件、执行记录、截图和运行结果管理。
9. **测试数据生成**
提供 Mock/测试数据管理能力,可辅助构造接口测试数据。
10. **定时任务与异步执行**
支持 Celery、Redis、Celery Beat,用于异步执行测试、定时调度任务和后台处理。
11. **测试报告与导出**
支持查看测试报告,并可导出生成结果,例如 Excel、Markdown 等格式。
12. **平台化运维辅助**
包含通知、访客记录、数据库连接工具、邮箱配置、域名检测等辅助管理能力。
13. **统一 Web 管理界面**
基于 Django、DRF、Bootstrap 构建,提供较完整的后台式测试平台体验,适合测试团队集中管理自动化资产。
## 快速开始
1. 拉取代码:
```
git clone https://gitee.com/joyamon/easy-testing.git
```
2. 创建虚拟环境:
```
python -m venv venv
source venv/bin/activate
```
3. 安装依赖:
```
pip install -r requirements.txt
```
4. 复制配置文件:
```
# windows
copy .env.example .env
# linux
cp .env.example .env
配置qwen api-key:
DASHSCOPE_API_KEY = sk-xxxx # 必填,替换为你的api key
```
5. 生成迁移文件并迁移数据库:
```
python manage.py makemigrations
python manage.py migrate
```
6. 创建管理员:
```
python manage.py createsuperuser
```
7. 启动服务器:
```
python manage.py runserver
```
8. 启动celery和beat
```
# windows
celery -A EasyTesting worker -l info -P eventlet --pool=solo
celery -A EasyTesting beat -l info
# linux
celery -A EasyTesting worker -l info
celery -A EasyTesting beat -l info
```
## 使用
1. 点击 http://localhost:8000/ 访问
2. 使用账号密码登录
3. 创建项目、环境、测试用例和测试套件
4. 执行测试用例并查看结果
## AI生成功能测试用例使用流程
```
新建项目 → 录入需求 → 自动生成用例 → 编辑优化 → 导出 Excel/Markdown
```
1. **新建项目**:首页点击「新建项目」,填写项目名称与描述
2. **录入需求**:进入项目详情,点击「添加需求」,填写需求标题和详细描述
3. **生成用例**:进入需求详情,选择生成模式(规则/LLM/混合),点击「生成测试用例」
4. **编辑优化**:对生成的用例进行手动调整(步骤、预期结果、优先级、状态)
5. **导出**:在需求详情页点击「导出 Excel」或「导出 Markdown」
---
## 效果截图
### 觉得项目不错,请作者喝一杯咖啡
### 交流群
- 群二维码过期无法访问,请添加个人微信,博主可拉进群,添加时备注:gitee,欢迎大家一起交流
## 贡献伙伴
非常感谢以下小伙伴的贡献
- [jinpeng_zhang](https://gitee.com/jinpeng_zhang)
## License
本项目根据MIT许可证获得许可
## 致谢
- [Django](https://www.djangoproject.com/)
- [Django REST framework](https://www.django-rest-framework.org/)
- [SQLite](https://www.sqlite.org/index.html)
- [Bootstrap](https://getbootstrap.com/)
- [HTTPRunner](https://httprunner.com/)
- [Django-SimpleUI](https://github.com/xui2013/django-simpleui)
- [playwright](https://playwright.dev/)
- [Faker](https://faker.readthedocs.io/en/master/)
- [WorkBuddy](https://www.codebuddy.cn/)