基于flask+react搭建测试用例管理平台
平台介绍
平台目前功能介绍
- 工作台(账户动态,项目管理,组织管理,系统设置,测试分析等)
- 功能测试用例管理(本文只介绍此模块)
- API自动化测试系统(接口自动化系统,场景配置,报告配置,用例管理等等)
- GUI自动化测试系统(UI自动化测试系统,场景配置,报告配置,用例管理等等,暂未开发完成)
- 测试工具管理(测试脚本,小工具管理)
- 知识库(知识分享、问题收集)
因部门工作中所产出的测试用例数据难以收集和查阅,后又因TestLink界面不够友好,难以推动使用。开发了测试用例管理系统
测试用例管理模块主要逻辑流程为
新建测试计划 > 新建计划内上线功能或需求 > 创建测试用例(或上传测试用例支持Xmind导入,Excel导出等)> 执行测试 > 测试完成 > 更改需求状态 > 更改测试计划状态
效果展示-计划列表页
效果展示-计划详情页
使用到的技术栈 (测试用例管理)
后端
- 框架选择:Flask 、Tornado
- Python版本:3.6.5
- 数据库:MySQL、Redis
- 异步任务处理:celery
- 服务进程管理:Docker、uwsgi、Supervisor
前端
- 框架:Ant Design Pro(蚂蚁金服开源的基于 React 的中后台管理控制台的脚手架)
- nodejs版本:12.6.0
- react版本:16.7.0
后端服务介绍
- requirements 文件
colorlog
Flask
flask-apidoc
Flask-HTTPAuth
Flask-Migrate
flask-paginate
Flask-RESTful
Flask-Script
Flask-SQLAlchemy
itsdangerous
sqlalchemy
gevent
mysqlclient
pycryptodome
PyMySQL
redis
requests
sshtunnel
uWSGI
Werkzeug
celery
concurrent
xlwt
xmindparser
- 服务结构
Python版本:3.6.5
编辑器:PyCharm 2018 1.3
- 文件目录介绍
目录&文件 | 作用 |
---|---|
Apis | 各系统接口主要代码存放路径,用Blueprint分开接口, flask_restful 设计接口 |
Common | 公共库,主要为应用工厂,日志,签名,celery任务消息队列处理,token认证等 |
Config | 项目配置 |
Models | 数据库相关model,用于ORM处理 |
DockerFile | 用于构建Docker容器 |
runserver | 项目启动入口 |
- 配置文件 Config 的__init__.py文件
# -*- coding: utf-8 -*-
# @File : __init__.py
# @Time : 2020/1/3 下午3:26
# @Author : bin.wang
# @Detail : 配置文件
from sqlalchemy import create_engine
from datetime import timedelta
from Common.log.logger import LogFile, Log
from concurrent.futures import ThreadPoolExecutor
import redis
import os
class Config:
# 线程池, max_workers参数 不填默认为 CPU个数 * 5
threaded = True
executor = ThreadPoolExecutor()
# session过期时间
PERMANENT_SESSION_LIFETIME = timedelta(days=1)
SECRET_KEY = os.urandom(24)
# 为True ,无需 db.session.commit()
SQLALCHEMY_TRACK_MODIFICATIONS = False
# 上传文件大小限制 8M
MAX_CONTENT_LENGTH = 8 * 1024 *<