目录
一、简介
该平台是一款基于CS模式的web服务平台,用于对测试用例的统一管理,集用例添加、编辑、删除、运行于一身,用例运行的核心机制采用的是httprunner
二、项目架构
2.1、业务结构
2.2、平台架构
三、开发框架选择
3.1、Web开发框架
平台用例核心运行机制采用的是httprunner,而httprunner采用的Python语言,所以平台也顺势选用Python作为开发语言,Python web开发有两个主流框架Django和Flask。
l Django是一款重量级的Python开发web框架,功能齐全,不同的人用Django来开发,开发出来的东西基本架构都是一样的,
l Flask是一个轻量级的web框架,相对来说更加灵活,每个人开发出来的东西架构可能完全不一样。
l 对于团队级别的大型项目来说,比较适合选择Django,因为整个团队比较容易达成一致的架构,不会陷入无休止的会议讨论,里面很多东西不需要自己设计,拿来即用,快速开发。
l 对于个人开发的小项目来说,也可以用Django,也可以用Flask,用Flask的话,可以设计自己的项目架构,不必拘泥于Django的固定模式。对于以后进行功能扩展也比较容易开展。
l Flask对于加深Python学习有很大帮助,因为Flask不像Django很多东西都是现成的,需要自己去写
因此,基于以上的对比,选择Flask作为项目的开发框架。
3.2、数据库ORM
采用SQLAlchemy,SQLAlchemy是Python编程语言下的一款ORM框架,该框架建立在数据库API之上,使用关系对象映射进行数据库操作,简言之便是:将对象转换成SQL,然后使用数据API执行SQL并获取执行结果。选择SQLAlchemy一个原因是因为它是基于Python的开源框架,再就是使用比较广泛,教程多,遇到问题容易找到解决方法。
3.3、前端
前端基本都是固定的HTML5,CSS,JavaScript,为了方便快速开发,选用一款前端框架bootstrap,脚本引入jQuery库。由于采用flask框架,因此模板渲染自然而然就是采用的jinja2.
四、项目结构
4.1 项目结构目录树
E:.
│ .gitignore
│ config.py
│ manager.py
│ run.py
├─app
│ │ models.py
│ │ views.py
│ │ __init__.py
│ ├─static
│ │ ├─bootstrap
│ │ │ ├─css
│ │ │ │ bootstrap-theme.css
│ │ │ ├─fonts
│ │ │ │ glyphicons-halflings-regular.eot
│ │ │ └─js
│ │ │ bootstrap.js
│ │ └─image
│ │ bg.jpg
│ ├─templates
│ │ add_config.html
│ └─__pycache__
│ models.cpython-36.pyc
│ __init__.cpython-36.pyc
│
├─hrunner
│ │
│ ├─ssj_api
│ ├─ssj_share
│ ├─ssj_sync
│ ├─token
│ └─user_api
│
├─httprunner
│
├─tests
│
└─test
4.2 项目结构目录解析
l .gitignore文件是放在项目的根目录,用来存放需要忽略的git提交文件
l config.py用来存放项目的一些配置信息
l manager.py用来存放一些通用的函数,数据库操作类
l app文件夹为项目的主应用
l models.py中用来存放数据库模型,所有的数据库表都在这里建立
l views.py中用来存放路由函数,所有的请求接口功能都是在这里定义的
l __init__.py中主要初始化一个应用的,里面除了import语句,只有一行代码app=Flask(__name__)
l static文件夹中用来存放一些网站的静态文件,如bootstrap框架的css,js模板,一些image背景图片,图标之类的
l templates文件夹中用来存放网站每个html页面
l test中是测试代码
五、数据库
每个网站都有大量数据,需要数据库支撑,本项目采用MySQL数据库,在项目开始前首先要建立一个项目对应的数据库SsjApiPlat,并且需要提前安装Python第三方库Flask-SQLAlchemy