最近在学习纯代码的接口自动化框架,在网上查阅大量资料后,结合了多个文章,最后使用python+unittest+ddt实现了一个简单的接口自动化工具,可以实现读取excel中的测试用例,生成测试报告,并发送邮件的功能。下图是项目的框架结构,源码可以免费下载链接:链接:https://pan.baidu.com/s/1gklq4uZicdDviSkfoOvbqQ?pwd=0001
提取码:0001,下载后可以直接运行。下面会对每个目录和python文件分别介绍
1、common目录
readConfig.py 是用来读取配置文件
readExcel.py用来读取测试用例数据
request.py用来生成接口的请求数据,并返回结果
PS:get请求的参数比较简单,直接传入参数即可,post请求通常需要包含hearders、body等参数,需要注意参数的格式
HTMLTestReportCN.py用于生成测试报告
newReport.py用于获取最新的测试报告
sendMail.py用于将最新的测试报告发送邮件
2、config目录
存放的是配置文件,包含数据库配置、邮箱配置、用例和测试报告存放目录等配置
3、data目录
存放的是测试用例数据
4、report目录
存放的是每次执行全部用例时生成的测试报告
5、testcase目录
存放的是执行测试用例的方法,测试用例的命名需要test_开头。再利用了ddt装饰器读取测试用例表格中的数据,每行数据生成一个新的测试用例,并自动添加编号
PS:用例间存在参数依赖需要传递前一个请求的结果到下一个用例时,可以通过全局变量的方法实现,本项目中两个post请求就是需要将login接口的token参数传给用例表中的第四个接口,用例表中没有传递具体的token参数,而是在方法中将全局变量拼接到参数中去,实现参数传数的传递
6、run_all_case.py
读取testcase目录下所有命名是以test_开头的文件,加入测试数据集,运行后生成测试报告并发送邮件,运行结果和测试报告如下