自动化测试工具

一个用于自动化生成测试用例、验证代码标准、管理日历事件和发送邮件的后端工具,集成AI功能。

  • by Saturnnnnnnnnnnn
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 Saturnnnnnnnnnnn/mcp-business-tools

使用说明

# MCP Business Tools (MVP)

Версия: 0.1.0дав

Бэкенд для демонстрации автоматизации тестирования и утилит команды QA с интеграцией AI (LLM).

---

## Что делает проект

- Генерирует тест-кейсы (ручные и API) автоматически через LLM.
- Проверяет тесты на соответствие стандартам (Allure, AAA-паттерн).
- Создает события в календаре (демо или через Google Calendar).
- Отправляет письма (демо, требует SMTP).
- Возвращает тестовые данные, например курсы валют (демо).

Всё доступно через веб-API. Можно тестировать через Swagger UI или HTTP-запросы.

---

## Требования

- Python 3.10+
- pip
- venv (рекомендовано)

---

## Установка

```bash
git clone https://github.com/Saturnnnnnnnnnnn/mcp-business-tools.git
cd mcp-ready-project-full
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt

外部服务配置

文件 .env 已包含在项目的根 .env.example内容示例:

# Сервер
HOST=0.0.0.0
PORT=8000
REQUEST_TIMEOUT=15

# SMTP (если нужно)
SMTP_HOST=smtp.example.com
SMTP_PORT=587
SMTP_USER=user@example.com
SMTP_PASSWORD=yourpassword
FROM_EMAIL=user@example.com

# LLM для генерации тестов
EVOLUTION_API_TOKEN=ваш_ключ
EVOLUTION_API_URL=https://foundation-models.api.cloud.ru/v1

# Google Calendar (если нужно)
GOOGLE_CALENDAR_API_KEY=ваш_ключ
GOOGLE_CALENDAR_CALENDAR_ID=primary

如果没有LLM令牌,人工智能测试生成将无法工作。SMTP和日历可以留空演示。


发射

python3 -m uvicorn app.main:app --reload --host 127.0.0.1 --port 8000
  • API http://127.0.0.1:8000
  • Swagger用户界面: http://127.0.0.1:8000/docs
  • 健康检查: http://127.0.0.1:8000/health

查询示例

1.通过人工智能生成手动测试

curl -X POST http://127.0.0.1:8000/generate/manual-tests \
-H "Content-Type: application/json" \
-d '{"product_description":"Demo product","owner":"QA Team","feature":"Login","count":3}'

2.通过OpenAPI生成API测试

curl -X POST http://127.0.0.1:8000/generate/api-tests \
-H "Content-Type: application/json" \
-d '{"openapi_url":"https://demo.openapi.url/spec.json"}'

3.验证代码是否符合标准

curl -X POST http://127.0.0.1:8000/validate/code \
-H "Content-Type: application/json" \
-d '{"code":"@allure.manual\nwith allure.step(\"Arrange\"):\n    pass"}'

4.货币兑换(演示)

curl -X POST http://127.0.0.1:8000/tool/get_exchange_rate \
-H "Content-Type: application/json" \
-d '{"from_currency":"USD","to_currency":"RUB"}'

5.发送电子邮件(需要SMTP)

curl -X POST http://127.0.0.1:8000/tool/send_email \
-H "Content-Type: application/json" \
-d '{"to":"you@example.com","subject":"Test Email","body":"Hello from MCP"}'

6.在日历中创建事件(演示或谷歌日历)

curl -X POST http://127.0.0.1:8000/tool/create_calendar_event \
-H "Content-Type: application/json" \
-d '{"title":"Demo Event","start_iso":"2025-12-06T12:00:00","end_iso":"2025-12-06T13:00:00","description":"Demo"}'

特点

  • 在代币存在的情况下,测试生成和代码验证通过人工智能(LLM)进行。
  • 真正的外部服务(邮件,日历,汇率)只在配置时工作。
  • 您可以根据需要连接SMTP、Google Calendar和货币API。
  • 一切都准备好在哈卡顿示威。

项目结构

app/               # сервер, LLM-клиент и utils
tests/             # тесты
examples/          # примеры запросов и output
requirements.txt
start.sh
.env               # настройки внешних сервисов и LLM

作者:Hamza 哈卡顿项目,MVP版本。