简述
使用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')
结果文档: