该文原创为新潮质量保障技术团队中的 “上进的中年软件测试从业者”,用于技术交流分享
上期我们讲到团队组建过程,有了合适的团队、工作模式以及达成共识的工作规则,平台工作可以正式启动了。本期要讲的是测试平台的初始化及启动工作。初始化就是为了让平台能正常运行起来而必须具备的各种公共组件。
测试平台的目录结构如下:
配置工作
Config.py 提供各种环境 Dev,Test,PRD 环的配置。
Config 的配置包括:
- 各种数据库
- testlink 客户端
- jira 客户端
- flask 的各种配置(模板、UPLOAD_FOLDER、SECRET_KEY、BABEL_DEFAULT_LOCALE、FLASK_ADMIN_FLUID_LAYOUT、MONGODB_SETTINGS、SQLALCHEMY_DATABASE_URI 等)
拿到所有 jira、testlink、mongo、sql 这些基础配置后,配置文件可以根据如下的方式配置完成
解释一下每个配置的作用:
- UPLOAD_FOLDER:程序中默认文件上传的路径。
- SECRET_KEY:Session, Cookies 以及一些第三方扩展都会用到 SECRET_KEY 值
- BABEL_DEFAULT_LOCALE:本地化,如设置为中文。
- FLASK_ADMIN_FLUID_LAYOUT:bootstrap 页面模板的样式,是否去掉边距。
- MONGODB_SETTINGS:初始化连接 mongo 的配置,支持 URI。
- SQLALCHEMY_DATABASE_URI:初始化连接 mysql 的配置,支持 URI。
- Testlink:初始化 testlink 的连接,我们的公共模块初始化 testlink 连接的时候提供通过 app_key 的 api 方式,同样支持模式用户登录使用的方式。
- Jira:初始化 jira 的连接,采用 api 的方式与 jira 进行交互。
- Jenkins: 初始化 jenkins 的连接,支持 api 和模拟用户交互的方式。
- logger: 截图里面没有截进来,用于程序全局使用的日志模块。
初始化工作
init.py 提供了测试平台能够运行所需要的所有组件,另外让引用变得便捷。
配置引入
控制层引入(这里只引入两个全局要用的权限和用户)
公共模块引入(初始化定时任务)
数据层引入(用户和会话管理的初始化工作, 这里需要优化)
视图层引入
启动工作
flask_main 作为程序的入口,只需要做三件事。
到这里,初始化和启动服务就讲完了,这一期没有故事。下一期将介绍如何做登陆功能,敬请期待!