Excel中的列的字段(Excel数据驱动)
id ,模块 ,url ,是否运行 ,请求类型, 是否携带header, case依赖, 依赖的返回数据, 数据依赖字段, 请求数据 ,预期结果, 实际结果
Python操作Excel获取测试数据
1.工具类封装
封装操作Excel函数
util包中的operation_excel.py
模块:xlrd
封装的方法有:
获取sheets的内容
获取单元格的行数
获取某一个单元格的内容
写入数据
根据对应的caseid 找到对应行的内容
根据对应的caseid找到对应的行号
根据行号,找到该行的内容
获取某一列的内容
2.封装操作Json函数(用于获取Cookie)
util包中的operation_json.py
模块:json
封装的方法有:
读取json文件
根据关键字获取数据
写json
3.封装获取Excel表格列常量的方法
data包中的data_config.py
Id ='0'
request_name ='1'
url ='2'
run ='3'
request_way ='4'
header ='5'
case_depend ='6'
data_depend ='7'
field_depend ='8'
data ='9'
expect ='10'
result ='11'
4.封装获取接口数据
data包中的get_data.py
去获取excel行数,就是我们的case个数
获取是否执行
是否携带header
获取请求方式
获取url
获取请求数据
通过获取关键字拿到data数据
获取预期结果
通过sql获取预期结果
获取依赖数据的key
判断是否有case依赖
获取数据依赖字段
Post,Get 基类封装
模块:requests
base包中的runmethod.py
解决接口数据依赖问题
通过case_id去获取该case_id的整行数据
执行依赖测试,获取结果
根据依赖的key去获取执行依赖测试case的响应,然后返回
获取登录Cookie及请求的方法
获取登录返回的token的url
根据获取到的url去取得cookie
将获取到的cookie写入一个json文件
封装实际结果和期望结果对比的方法
判断一个字符串是否再另外一个字符串中
判断两个字典是否相等
主流程封装
1.遍历Excel表格获取每一行中的数据
2.判断是否有数据依赖,有的话解决数据依赖
3.解决Cookie的问题
4.运行Post或者Get方法,将得到的结果与获取的期望结果进行对比,并将结果写到Excel中
Case运行结果统计
此次一共运行接口个数为_个,通过个数为_个,失败个数为_,通过率为_,失败率为_
构建发送邮件服务
模块:smtplib(用于连接邮件服务器,发送邮件),MIMEText(邮件内容的封装)