天天看点

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

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

接口自动化的开展:

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

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

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

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

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

测试用例完成之后,我们开始进行代码的编写,首先我进行的是对获取主题的这个单个方法的封装,接着又对整个读取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)
           

实现结果:

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

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

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

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

往期文章

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

python的迭代器 生成器 装饰器

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

selenium元素定位的八种方式

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

继续阅读