最近看了些接口自动化,网上资料很多,也都大同小异,也总结下,方便后续的复习。
采用的是unittest测试框架,目录上由以下几个部分组成:
按模块说下各自的作用:
1、API层:封装所有接口的请求,并将响应结果返回
import requests
class DetailApi(object):
def api_detail(self,url,lng,activityId,lat,channel,token):
headers = {"Content-Type": "application/x-www-form-urlencoded", "partner": "k", "token":token,"channel": channel}
data = {"lng": lng, "activityId": activityId, "lat": lat, "token":token }
r = requests.put(url, headers=headers, json=data)
print(r.status_code)
return r
2、case层:一个接口定义一个用例文件,一个接口会有多个用例。采用数据驱动的方式,比如将不同用例的入参放到一个json文件里,通过数据处理,将这些参数转换为一个元组列表,再通过parameterized装饰器,来生成多个新的测试方法(例如 test1()、test2()……),并将参数依次赋值给它们。
#-- coding:UTF-8 --
import unittest
from api_weiliao.detail_post_api import DetailApi
from tools.read_json import ReadJson
from parameterized import parameterized
# 读取数据函数
def get_data():
datas = ReadJson("detail.json").read_json()
# 新建空列表,添加读取json数据
arrs = []
# 使用遍历获取所有的value
for data in datas.values():
arrs.append((data.get("ur