本学习笔记出自:https://blog.csdn.net/huilan_same/article/details/76572411
目录
思考:我们需要一个什么样的框架
既然要搭一个框架,我们首先得弄明白我们需要一个什么样的框架,这个框架要支持什么功能?
框架主要的作用就是帮助我们编写更简单并且好维护的用例。我们需要把所有除测试用例以外的东西抽象出来作为框架的部分。
那么,额外的东西是什么?
- 日志以及报告
- 日志级别、URL、浏览器类型等基本配置
- 参数化
- 公共方法
搭建框架目录结构
现在我们很容易就把框架的结构搭建好了:
Test_framework
|--config(配置文件)
|--data(数据文件)
|--log(日志)
|--drivers(驱动)
|--report(报告)
|--test(测试用例)
|--utils(公共方法)
|--readme.md(说明文件,方便团队其他成员使用及维护)
配置文件
在config文件夹中创建config.yml文件,在utils里创建一个config.py文件读取配置,内容暂且不管。
简单的对之后几篇学习的内容勾画一下
1.首先把配置抽出来,用yaml文件放配置。所以我们要在config层添加配置文件config.yml,在utils层添加file_reader.py与config.py来管理。
2.然后我们将python自带的logging模块封装了一下,从配置文件读取并设置固定的logger.在utils中创建了log.py.
3.封装xlrd模块,读取excel,实现用例的参数化。
4.生成HTML测试报告,这个原博主修改了网上原有的HTMLTestRunner,改为中文并梅花,然后修改其支持python3.可以直接拿去用。
5.然后给框架添加了发送邮件报告的能力。在utils中添加了mail.py。
6.然后将测试用例用Page-Object思想进行封装,进一步划分test层的子层。
7.加下来为了接口测试封装client类。在utils中添加了client.py.
8.然后添加了一个简单的自定义断言,在utils中添加了assertion.py,可用同样的方法自行扩展。
9.为了抽取相应结果,用JMESPath封装Extractor,在utils中添加extractor.py
10.生成器。自动生成固有类型的测试数据。utils下创建了generator.py
11.最后为了一些项目中的支持方法,如加密、签名等,创建支持库support.py。
整个流程下来我们一个简单的框架就像模像样了,在此基础上可继续完善,实际用在项目中也没有什么问题,再简单结合Jenkins部署起来,定期或每次代码提交后可自动运行测试,直接把测试报告发送到项目成员手中。