Skip to content

zhongyehai/test-platform-fastapi-api

Repository files navigation

基于 fastapi生态 + tortoise-orm 开发的rest风格的测试平台后端

线上预览:http://60.204.247.140/login 账号:admin、密码:123456,请不要修改密码

系统操作手册:giteegithub

Python版本:python => 3.11+

执行器

api自动化测试:httpx
ui自动化测试:playwright
app自动化测试:appium

1.安装依赖包,推荐清华源

sudo pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt

2.创建MySQL数据库

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

3.在.env文件中填写对应配置

把跟目录下的 “env模板” 文件 重命名为 “.env”,并填写对应的参数

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

3.1、第一次初始化数据库只需要执行以下步骤
    3.1.1. 初始化数据库配置、生成迁移文件: aerich init -t config.tortoise_orm_conf
    3.1.2. 把模型映射到数据库中: aerich init-db

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

5.初始化权限、角色、管理员一起一些初始化配置(项目根目录下执行,账号:admin,密码:123456)

执行 sudo python init_data.py run_init

6、若要进行UI自动化:

在安装完依赖后执行:
    win:playwright install chromium
    linux:python -m playwright install chromium

7、若要进行app自动化测试:

安装 appium: npm install -g appium@1.22
启动 appium: appium --allow-cors

8.生产环境下的一些配置:

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

9.启动测试平台

本地开发: 
    运行测试平台主服务              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
        需在服务器上打开编辑脚本并保存一下

修改依赖后创建依赖:sudo pip freeze > requirements.txt

创作不易,麻烦给个星哦

QQ交流群:249728408

微信群

微信群

项目关键截图

选择运行环境

选择运行环境

测试执行进度

用例执行进度

测试报告

测试报告

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors