接口自动化测试框架从设计到开发

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(邮件内容的封装)

你可能感兴趣的:(接口自动化测试框架从设计到开发)