python 读取excel表数据_Python读取Excel用例实现接口自动化

枯燥的学习当然要从一首好听的音乐开始

接口自动化的开展:

首先在进行接口自动化的时候,前提条件肯定是开发提供有api文档,然后我们根据api文档在Excel上面写接口测试用例,接着用代码读取Excel上面的测试用例实现接口的自动化测试。

这次进行的接口自动化的案例是 cnode 网站,这是它的api文档

89927e0c5d88711e3f42dca9651779ec.png

这次案例我们只针对获取主题首页进行的测试,根据这个文档编写获取主题首页的测试用例

1648b7e26e3e0df6e4c6bb419821ca7c.png

测试用例完成之后,我们开始进行代码的编写,首先我进行的是对获取主题的这个单个方法的封装,接着又对整个读取Excel的操作进行了封装,为了让看起来简单易懂一点,可能函数参数有点啰嗦,还请别太吐槽,以下是实现代码,代码是完整的封装好的,可以直接拿去用的。

import requestsimport xlrdfrom xlutils.copy import copyapi_url = "https://cnodejs.org/api/v1/topics"def get_topics(data):    """    :param data: 请求参数    :return: 响应状态码    """    return requests.get(api_url,params=data).status_codedef test_topics    (    file_url,table_name,table_index,    sta_line,end_line,data_row,expect_row,actual_res,res,save_url    ):    """    :param file_url: 将要读取的Excel测试用例    :param table_name: Excel中用例所在表的名称    :param table_index: Excel中用例所在表的下标位置    :param sta_line: Excel用例的开始行    :param end_line: Excel用例的结束行    :param data_row: Excel用例的请求参数列    :param expect_row: Excel用例的预期结果列    :param actual_res: Excel用例的实际结果列    :param res: Excel用例的测试结果列    :param save_url: 用例执行结束后保存测试文件副本的路径    :return: 打开测试文件副本即是执行后的文件    """    file_url = file_url    # 打开用例Excel   formatting_info=True      # 让Excel格式保持不变,这个参数不兼容xlsx格式的,所以要将其后缀改为xls    open_file=xlrd.open_workbook(file_url)    test_table = open_file.sheet_by_name(table_name)    res_file = copy(open_file)    res_table = res_file.get_sheet(table_index)    for i in  range(sta_line,end_line):        data = test_table.cell(i,data_row).value        expect = test_table.cell(i,expect_row).value        res_code = get_topics(data)        res_table.write(i,actual_res,res_code)        test_res = 'pass' if expect == res_code else 'fail'        res_table.write(i,res,test_res)    res_file.save(save_url)

调用函数的示例:

if __name__ == '__main__':        file_url = r'xxxx\conde网站接口测试用例.xls'    table_name = '获取主题'    table_index = 0    sta_line = 1    end_line = 8    data_row = 4    expect_row = 5    actual_res = 6    res = 7    save_url = r'xxxx\conde网站接口测试用例副本.xls'    test_topics(file_url,table_name,table_index,sta_line,end_line,data_row,expect_row,actual_res,res,save_url)

实现结果:

72ddade1544d18bafdc6ebc7aa4d8f06.png

以上内容就是一个简单的接口自动化的开展到实现过程,你get到了吗,觉得内容有帮助小伙伴记得扫码点个关注喲。

2f9f74fdfc75714f925cafb979d4a9a0.png


可是啊,海上月不可捞,心上人不可及。


往期文章

一行python代码都能实现什么??

python的迭代器 生成器 装饰器

python 中的运算比较符 is 与 ==

selenium元素定位的八种方式

selenium爬取网易云热评与代码调试

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值