python自动化测试——接口自动化实现数据驱动

使用Python的openpyxl读取Excel测试用例,结合requests库发送HTTP请求。通过循环遍历Excel中的测试数据,执行请求并比较预期结果,将测试结果更新回Excel生成测试报告。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简述

使用python实现一个简单的接口自动化实例。使用load_workbook对用例文档进行操作,使用requests进行请求的发送。

步骤

一、编写测试用例

使用excle表格编写接口对应的测试用例。格式尽量规范,方便后续的工作开展。
接口测试用例

二、进行python编码

思路:先创建一个load_workbook对象将对文档进行操作。 以一个用例为一个单位,将用例中的url、请求方法、参数等信息获取出来。 将刚刚的信息作为对应的参数,创建一个request对象发送请求。 对请求返回的数据进行判断,将判断结果再写入到文档中的“结果”项,生成新的测试结果报告。

(1)导入相应的库

from openpyxl import load_workbook
import requests
import json

(2)创建load_workbook对象,获取用例各项信息

创建一个load_workbook,然后根据子标题获取到对应的表格,计算出总共有多少条测试用例。
使用一条for,循环每个测试用例,将每个用例中所需要用到的信息提取出来。
这里需要注意的是,传params参数时,需要将获取到的json格式文本转换一下。

ex = load_workbook('../jiekou.xlsx')
ex1 = ex['Sheet1']
max = ex1.max_row + 1

for i in range(2,max):
    url = ex1.cell(i, 2).value
    method = ex1.cell(i, 3).value
    params = json.loads(ex1.cell(i, 4).value)

(3)发送请求,生成测试结果,输出测试报告

一个用例发送一个请求。在上面的for循环内,将获取出来的用例信息作为request.request()的参数发送请求。
对响应回来的数据进行分析判断,将判断的结果写入到结果项中。
遍历完所有的用例后,使用save()方法对测试结果文档进行保存。

for i in range(2,max):
    url = ex1.cell(i, 2).value
    method = ex1.cell(i, 3).value
    params = json.loads(ex1.cell(i, 4).value)
    rp = requests.request(
        url=url,
        method = method,
        params= params
    )
    status = (json.loads(rp.text))["status"]
    if(status == ex1.cell(i,5).value):
        ex1.cell(i,6).value = "通过"
        print('success')
    else:
        ex1.cell(i,6).value = "失败"
        print('fail')
        
ex.save('jiekou_result.xlsx')

结果文档:
结果文档

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值