全新架构升级,基于Fastapi+vue3的高性能测试平台,企业级RBAC权限管理系统,接口自动化,UI自动化,性能测试,用例评审,AI生成,skill管理一站式服务,客户端自动化,小程序自动化全栈企业测试平台 官网:http://106.54.166.76/N-Tester/
N-Tester 是一款AI驱动的智能化测试管理平台,采用前后端分离架构,融合 Python FastAPI 后端框架和 Vue3 前端框架,提供一站式开箱即用的测试解决方案,集接口接口自动化,APP自动化,UI自动化,AI功能集体化测试平台 官网:http://106.54.166.76/N-Tester/
N-Tester 是一款AI驱动的智能化测试管理平台,采用前后端分离架构,融合 Python FastAPI 后端框架和 Vue3 前端框架,提供一站式开箱即用的测试解决方案。
backend/ ├── app/ │ ├── models/ # 数据模型层 │ │ ├── system/ # 系统模型(用户、角色、权限) │ │ └── aitestrebort/ # 业务模型目录(项目、用例、需求等) │ ├── schemas/ # Pydantic数据验证 │ ├── routers/ # API路由层 │ │ ├── system/ # 系统路由 │ │ └── aitestrebort/ # 业务路由目录 │ ├── services/ # 业务逻辑层 │ │ ├── system/ # 系统服务 │ │ ├── aitestrebort/ # AI测试服务目录 │ │ └── ai/ # AI核心服务 │ ├── configs/ # 配置管理 │ └── utils/ # 工具类 ├── migrations/ # 数据库迁移 └── logs/ # 日志文件
核心技术栈:
frontend/ ├── src/ │ ├── views/ # 页面组件 │ │ ├── system/ # 系统管理页面 │ │ └── aitestrebort/ # 业务页面目录 │ ├── components/ # 公共组件 │ ├── composables/ # 组合式函数 │ ├── api/ # API接口 │ ├── router/ # 路由配置 │ ├── stores/ # 状态管理 │ └── utils/ # 工具函数 ├── public/ # 静态资源 └── dist/ # 构建输出
核心技术栈:
AI服务层 ├── LLM集成 │ ├── OpenAI (GPT-3.5/4) │ ├── Azure OpenAI │ ├── Anthropic (Claude) │ ├── Google (Gemini) │ └── Ollama (本地部署) ├── 向量存储 │ ├── Qdrant │ └── 嵌入模型 (OpenAI/Azure/Ollama) ├── RAG检索 │ ├── 文档解析 │ ├── 向量化 │ └── 语义检索 └── Agent编排 ├── LangGraph工作流 ├── 工具调用 └── 状态管理
🌐 体验地址: 用户名: admin 密码: 123456
⚠️ 注意:请勿修改密码,这是共享的演示账号
./start-docker.sh # 或者 cd /ntest docker compose up -d --build
start-docker.bat
详细说明请查看:DOCKER.md
cd backend chmod +x deploy.sh ./deploy.sh
cd backend deploy.bat
-- MySQL CREATE DATABASE test_platform CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- 设置最大连接数 SET GLOBAL max_connections=16384; -- PostgreSQL CREATE DATABASE test_platform ENCODING 'UTF8';
cp .env.example .env 编辑 .env 文件:
# MySQL 配置 DB_TYPE=mysql DB_HOST=localhost DB_PORT=3306 DB_USER=root DB_PASSWORD=your_password DB_NAME=test_platform # PostgreSQL 配置 # DB_TYPE=postgresql # DB_HOST=localhost # DB_PORT=5432 # DB_USER=postgres # DB_PASSWORD=your_password # DB_NAME=test_platform
cd backend # 创建虚拟环境 python -m venv .venv # 激活虚拟环境 # Windows .venv\Scripts\activate # Linux/Mac source .venv/bin/activate # 安装依赖 pip install -r requirements.txt # 配置环境变量 cp .env.example .env # 编辑 .env 文件,配置数据库连接信息 # 初始化数据库 python -m aerich init -t app.configs.config.tortoise_orm_conf python -m aerich init-db python db_manager.py setup # 启动服务 python main.py # 或使用 uvicorn uvicorn main:app --host 0.0.0.0 --port 8018 --reload # 启动接口自动化,APP自动化,UI自动化定时任务器 python -m scheduledtask.job
cd frontend # 安装依赖 npm install # 开发环境 npm run dev # 生产环境 npm run build
# OpenAI配置 OPENAI_API_KEY=sk-your-key-here OPENAI_BASE_URL=https://api.openai.com/v1 # Azure OpenAI配置 AZURE_OPENAI_API_KEY=your-azure-key AZURE_OPENAI_ENDPOINT=https://your-resource.openai.azure.com/ AZURE_OPENAI_API_VERSION=2024年02月15日-preview
# Qdrant配置 QDRANT_HOST=localhost QDRANT_PORT=6333 QDRANT_API_KEY=your-qdrant-key
# 切换到 MySQL python switch_database.py mysql # 切换到 PostgreSQL python switch_database.py postgresql
# 首次初始化 python -m aerich init -t app.configs.config.tortoise_orm_conf python -m aerich init-db python db_manager.py setup # 模型变更后 python -m aerich migrate --name "描述" python -m aerich upgrade # 或使用数据库管理器 python db_manager.py migrate python db_manager.py upgrade
N-Tester/ ├── backend/ # 后端服务 │ ├── app/ # 应用代码 │ ├── migrations/ # 数据库迁移 │ ├── logs/ # 日志文件 │ ├── requirements.txt # Python依赖 │ └── main.py # 入口文件 ├── frontend/ # 前端应用 │ ├── src/ # 源代码 │ ├── public/ # 静态资源 │ └── package.json # Node依赖 ├── docker-compose.yml # Docker编排 ├── .env.example # 环境变量模板 └── README.md # 项目文档
app/models/ 定义数据模型app/schemas/ 定义请求/响应模型app/services/ 实现业务逻辑app/routers/ 定义API路由@router.add_get_route 等装饰器添加路由src/views/ 创建页面组件src/api/ 定义API接口src/router/ 配置路由# Windows netstat -ano | findstr :8018 taskkill /PID <进程ID> /F # Linux/Mac lsof -ti:8018 | xargs kill -9
.env 中的数据库配置# 使用国内镜像 pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple npm install --registry=https://registry.npmmirror.com
gunicorn main:app -c gunicorn_config_main.py
server { listen 80; server_name your-domain.com; # 前端 location / { root /path/to/frontend/dist; try_files $uri $uri/ /index.html; } # 后端API location /api { proxy_pass http://localhost:8018; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } # WebSocket location /ws { proxy_pass http://localhost:8018; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } }
欢迎贡献代码、提出问题和建议!
git checkout -b feature/AmazingFeature)git commit -m 'Add some AmazingFeature')git push origin feature/AmazingFeature)QQ群: 1074327520
添加备注: N-Tester
如遇到问题,请:
logs/
如果这个项目对你有帮助,请点击 Star 支持一下!
本项目采用 MIT 许可证 - 详见 LICENSE 文件
感谢以下开源项目: