excel+ddt数据驱动在接口自动化中的应用

执行前文件:
在这里插入图片描述

封装的读写方法:

import os
from xlutils.copy import copy
import xlrd
def reader(file):
    #指定文件所在路径
    base_path=os.getcwd()  # 代表当前文件所在路径
    # 置换成excel文件所在路径
    path=base_path.replace(base_path,r"E:\DDT\data\\"+file)
    #打开excel文件
    excel=xlrd.open_workbook(path)
    #读取第一个sheet页面
    sheet=excel.sheets()[0]
    list= []
    #读取行
    for i in range(1,sheet.nrows):
        row=[]
        #读取列
        for j in range(0,sheet.ncols):
            row.append(sheet.cell(i,j).value)
        list.append(row)
    return list

def writer(file,i,j,value):
    # 指定文件所在路径
    base_path=os.getcwd()  # 代表当前文件所在路径
    # 置换成excel文件所在路径
    path=base_path.replace(base_path, r"E:\DDT\data\\"+file)
    # 打开excel文件
    excel=xlrd.open_workbook(path)
    #因为同一个文件不能同时又读又写,这里先拷贝出这个文件,改好了再覆盖原文件
    new_excel=copy(excel)
    #获取第一个sheet页
    sheet=new_excel.get_sheet(0)
    #写入内容
    sheet.write(i,j,value)
    #覆盖原来的文件
    new_excel.save(path)

测试方法:

import requests
import unittest
import ddt
from reader.excelfile import reader
from reader.excelfile import writer
@ddt.ddt()
class TestGetAccessToken(unittest.TestCase):
     table=reader("data.xlsx")
     @ddt.data(*table)
     @ddt.unpack   #把excel中每一列数据拆开
     def test_access_token(self,id,title,grant_type,appid,secret,exresult,result,response_text):
         data={"grant_type":grant_type,
               "appid":appid,
               "secret":secret}
         url="https://api.weixin.qq.com/cgi-bin/token"
         response=requests.get(url,params=data)
         print(response.text)
         try:
             self.assertEqual(int(exresult), response.json()['errcode'])
             writer("data.xlsx",int(id),6,'PASS')
         except AssertionError as e:
             writer("data.xlsx",int(id),6,'FAIL')
         finally:
             writer("data.xlsx",int(id),7,response.text)

if __name__ == '__main__':
    unittest.main()

运行结果:
在这里插入图片描述
执行后文件:在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值