安装python3.6+、selenium3.1+此处略
所谓框架的主要作用就是让代码变的有层次感既简洁又好维护,让我们把主要精力放在测试用例的设计上,其他额外的东西都抽象出来作为框架的部分。
额外的东西指:日志、报告、配置文件、数据文件、参数化、测试用例、公共方法、主函数等
大致的框架结构如下:
Test_framework
|--config(配置文件)
|--data(数据文件)
|--drivers(驱动)
|--log(日志)
|--report(报告)
|--test(测试用例)
|--utils(公共方法)
|--src(main函数)
|--ReadMe.md(自述说明性文件,框架所需要的环境及用法)
1、配置文件
配置文件的种类有:ini、yaml、xml、properties、txt、py等,这里以yaml为例
要在config层添加配置文件config.yml,在utils层添加file_reader.py与config.py来管理
2、日志文件
将python自带的logging模块封装了一下,从配置文件读取并设置固定的logger。在utils中创建了log.py
3、数据文件
封装xlrd模块,读取excel,实现用例的参数化
4、报告
使用HTMLTestRunner.py生成HTML测试报告
5、驱动
将驱动文件chromedriver.exe、IEDriverServer.exe放在项目目录下
6、邮件
给框架添加发送邮件(报告)的功能。在utils中添加了mail.py
7、Page封装
将测试用例用Page-Object思想进行封装,进一步划分test层的子层
8、接口client类封装
接口测试封装client类。在utils中添加了client.py
9、断言
添加一个简单的自定义断言,在utils中添加assertion.py,可用同样的方法自行扩展
10、响应结果
为了抽取响应结果,用JMESPath封装Extractor,在utils中添加extractor.py
11、生成器
生成器为我们自动生成固定类型的测试数据,utils下创建了generator.py
12、加密、签名
加密、签名,创建支持库support.py
13、main函数
1)、设置待执行用例的目录
2)、自动搜索指定目录下的用例,构造测试集
3)、实例化TextTestRunner类
基础框架完成,根据实际情况自行增减,结合 Jenkins 部署,定期或每次代码提交后可自动运行测试,发送测试报告