Skip to content
forked from rebort-hub/ntest

N-Tester平台,该项目采用 前后端分离架构,融合 Python 后端框架 FastAPI 和前端主流框架 Vue3 实现统一开发,提供了一站式开箱即用的体验 打造AI结合,支持AI生成用例生成,接口自动化,APP自动化,UI自动化,智能排版,LLM厂商自定义配置的一体化测试管理平台

Notifications You must be signed in to change notification settings

whoisming/ntest

 
 

Repository files navigation

快速启动指南

项目介绍 该项目采用 前后端分离架构,融合 Python 后端框架 FastAPI 和前端主流框架 Vue3 实现统一开发,提供了一站式开箱即用的体验 打造AI结合,支持AI生成用例生成,接口自动化,APP自动化,UI自动化,智能排版,LLM厂商自定义配置的一体化管理平台。

技术架构

后端: FastAPI/ Uvicorn / Pydantic 2.0 前端: Vue3 / Vite / TypeScript/ElementPlus

环境要求

  • Python 3.11
  • MySQL 8.0+
  • Node.js 18+ (前端)

Docker一键部署

查看对于的docker详细配置文件

常规部署如下

2.创建MySQL数据库

数据库名test_platform,编码选择utf8mb4,对应config.py下db配置为当前数据库信息即可
查看最大连接数 show variables like 'max_connections';
设置最大连接数 set global max_connections=16384;

后端启动

1. 安装依赖

cd backend

# 激活虚拟环境 (Windows)
.venv\Scripts\activate

# 安装依赖
pip install -r requirements.txt

2. 配置数据库

编辑 config.py 中的数据库配置:

tortoise_orm_conf = {
    'connections': {
        'default': {
            'engine': 'tortoise.backends.mysql',
            'credentials': {
                'host': 'localhost',
                'port': '3306',
                'user': 'root',
                'password': 'your_password',  # 修改为你的密码
                'database': 'test_platform'
            }
        }
    },
    # ...
}

3. 运行数据库迁移

这里直接执行目录下的sql文件手动执行

###初始化数据库表结构(项目根目录下依次执行下面命令):

如果是已经初始化过数据库了,改了数据模型,需要重新映射则执行以下步骤 对比变更、并映射到数据库: aerich migrate 把最新版本的数据结构同步到aerich表: aerich upgrade

若要进行UI自动化:

准备浏览器驱动
根据要用来做自动化的浏览器的类型下载对应版本的驱动,详见:https://www.selenium.dev/documentation/zh-cn/webdriver/driver_requirements/
把下载的驱动放到项目外的 browser_drivers 路径下,项目启动时若没有则会自动创建,若项目未启动过,则需手动创建
给驱动加权限:chmod +x chromedriver

生产环境下的一些配置:

1.把main端口改为8024启动
2.把job端口改为8025启动
3.准备好前端包,并在nginx.location / 下指定前端包的路径
4.直接把项目下的nginx.conf文件替换nginx下的nginx.conf文件
5.nginx -s reload 重启nginx

启动测试平台

本地开发: 
    运行测试平台主服务              main.py
    运行定时任务/运行任务调度服务     job.py

生产环境:
    项目根目录
    1、给shell加执行权限: chmod 755 start.sh kill.sh
    2、启动项目,执行启动shell: ./start.sh
    3、关闭项目,执行启动shell: ./kill.sh
    注:如果shell报错: -bash: ./kill.sh: /bin/bash^M: bad interpreter: No such file or directory
        需在服务器上打开编辑脚本并保存一下

4. 启动服务器

# 开发模式
python main.py

# 或使用 uvicorn
uvicorn main:app --host 0.0.0.0 --port 8018 --reload

服务器将在 http://localhost:8018 启动

5. 访问 API 文档

打开浏览器访问:

前端启动

1. 安装依赖

cd frontend

pip3 install -r requirements.txt
=======
cd frontend

npm install

2. 启动开发服务器

npm run dev

前端dev将在 http://localhost:8016 启动

验证安装

运行集成测试

cd backend
python test_mcp_integration.py

这个步骤可以忽略 cd backend python test_mcp_integration.py


预期输出:

🎉 所有测试通过!系统已准备就绪。


### 测试 API 端点

```bash
# 测试健康检查
curl http://localhost:8018/docs

# 测试项目列表 (需要登录)
curl http://localhost:8018/api/aitestrebort/projects

功能验证

1. MCP 配置管理

  1. 登录系统
  2. 进入 "aitestrebort" -> "MCP 配置"
  3. 点击 "新建配置"
  4. 填写表单:
    • 配置名称: 测试 MCP 服务器
    • 服务器 URL: http://localhost:8765
    • 传输协议: streamable-http
    • 认证头: (可选) X-API-Key: your-key
  5. 点击 "测试连接" 验证配置
  6. 点击 "创建" 保存配置

2. LLM 配置管理

  1. 进入 "aitestrebort" -> "LLM 配置"
  2. 点击 "新建配置"
  3. 填写表单:
    • 配置名称: OpenAI GPT-4
    • 提供商: openai
    • 模型名称: gpt-4
    • API 密钥: sk-your-key
    • 基础 URL: https://api.openai.com/v1
  4. 点击 "测试连接" 验证配置
  5. 点击 "创建" 保存配置

3. AI 测试用例生成

  1. 进入项目详情页
  2. 点击 "AI 生成测试用例"
  3. 输入需求描述
  4. 选择 LLM 配置
  5. 点击 "生成" 获取测试用例

常见问题

1. 端口被占用

错误: error while attempting to bind on address ('0.0.0.0', 8018)

解决:

# Windows
netstat -ano | findstr :8018
taskkill /PID <进程ID> /F

# Linux/Mac
lsof -ti:8018 | xargs kill -9

2. 数据库连接失败

错误: Can't connect to MySQL server

解决:

  1. 确认 MySQL 服务正在运行
  2. 检查 config.py 中的数据库配置
  3. 确认数据库 test_platform 已创建

3. Tortoise ORM 初始化失败

错误: ConfigurationError: default_connection cannot be None

解决:

  • 确保使用的是 Tortoise ORM 0.25.3+
  • 检查 app/hooks/app_hook.py 使用的是 Tortoise.init 而不是 register_tortoise

4. langchain-mcp-adapters 导入失败

错误: ModuleNotFoundError: No module named 'langchain_mcp_adapters'

解决:

pip install langchain-mcp-adapters>=0.2.0

开发建议

代码风格

  • 使用 Black 格式化 Python 代码
  • 使用 ESLint + Prettier 格式化前端代码
  • 遵循 PEP 8 编码规范

测试

# 运行后端测试
pytest

# 运行前端测试
npm run test

调试

后端调试

在 VS Code 中添加 .vscode/launch.json:

{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Python: FastAPI",
      "type": "python",
      "request": "launch",
      "module": "uvicorn",
      "args": [
        "main:app",
        "--reload",
        "--port",
        "8018"
      ],
      "jinja": true,
      "justMyCode": false
    }
  ]
}

前端调试

在浏览器中使用 Vue DevTools 扩展

生产部署

使用 Gunicorn

gunicorn main:app -c gunicorn_config_main.py

使用 Docker

# 构建镜像
docker build -t aitestrebort-api .

# 运行容器
docker run -d -p 8018:8018 aitestrebort-api

使用 Nginx 反向代理

server {
    listen 80;
    server_name your-domain.com;

    location / {
        proxy_pass http://localhost:8018;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

更多资源

如果对你有帮助,点击star

项目关键截图

选择运行环境

登录页

测试执行进度

首页

测试报告

AI用例自动生成

智能对话页面

AI智能对话助手

自动执行脚本用例页面

报告详情

获取帮助

交流群

交流群 1074327520

交流群

作者微信

来源-备注N-Tester

如遇到问题,请:

  1. 查看日志文件 logs/
  2. 运行集成测试 python test_mcp_integration.py
  3. 查看相关文档
  4. 提交 Issue

最后更新: 2026-01-04 版本: 1.0.0

About

N-Tester平台,该项目采用 前后端分离架构,融合 Python 后端框架 FastAPI 和前端主流框架 Vue3 实现统一开发,提供了一站式开箱即用的体验 打造AI结合,支持AI生成用例生成,接口自动化,APP自动化,UI自动化,智能排版,LLM厂商自定义配置的一体化测试管理平台

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Vue 52.1%
  • Python 42.0%
  • TypeScript 5.6%
  • SCSS 0.1%
  • Batchfile 0.1%
  • Shell 0.1%