# 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/)