写在文头,参考文档
https://www.cnblogs.com/dyd168/p/16294028.html#%E9%80%9A%E8%BF%87%E8%AF%BB%E5%8F%96json%E6%96%87%E4%BB%B6%E5%AE%9E%E7%8E%B0%E5%8F%82%E6%95%B0%E5%8C%96
requests.request(method,url,kwargs)参数说明
method:请求方法,如GET、POST、PUT、DELETE等请求
url:请求的URL地址
**kwargs:是一个可变的参数类型,在传实参时,以关键字参数的形式传入,python会自动解析为字典的形式,常用可选参数如下:
- params:字典或元组列表或字节,作为参数增加到url中
data:字典,元组列表,字节或文件对象,作为post、put等请求的参数
json:JSON格式的数据,作为post、put等请求的参数
headers:字典类型, HTTP请求头信息
cookies:字典或CookieJar,Request中的auth : 元组支持HTTP认证功能
files:字典类型,传输文件,作为post请求文件流数据,测试文件上传接口时使用
timeout:设定超时时间,单位为秒
params、data、json区别:
在接口请求中,使用哪一个参数需要根据接口请求方法和编码格式而定,三者的大致区别如下:
params:通常作为get请求中接收参数,params=字典类型的数据
json:通常作为post、put、delete等请求中接收参数,json=字典格式的数据(content_type为application/json时使用)
data:与json一样,作为请求中的接收参数,data=字典格式的数据(content_type为键值对的编码格式时使用,比如application/x-www-form-urlencoded)
校验返回报文中某字段的返回次数
1.用iterms 循环记录到list最后统计长度
corrList = [items for items in data['data']['results'] if 'staffId' in items]
print("查询返回的staff_id数据为:", len(corrList))
2.get_json_object函数加正则表达式
3.count()可用于字符串类型的数据统计
###读取json\yaml文件
phonelogin_date = json.load(open("../data/phonelogin_date.json", "r", encoding="utf8")) #读取JSON文件里面的数据 //使用json文件进行参数化测试数据类型由下面的data
#yaml文件打开的两种方式
phonelogin_date = yaml.load(open("../data/phonelogin_data.yaml", "r", encoding="utf8"), Loader=yaml.FullLoader)#方式一
with open("../data/phonelogin_data.yaml", "r", encoding="utf8") as f:
phonelogin_date = yaml.load(f.read(), Loader=yaml.FullLoader)#方式二
读取excel文件
class FileTools():
def json_file(self, filename): # 打开json文件并读取数据
excel_data = json.load(open(filename, "r", encoding="utf8"))
return excel_data
def yaml_file(self, filename): # 打开yaml文件并读取数据
with open(filename, "r", encoding="utf8") as f:
excel_data = yaml.load(f.read(), Loader=yaml.FullLoader)
return excel_data
def excel_file(self, filename, sheetname): # 打开Excel文件并读取数据
wb = load_workbook(filename) # 打开指定Excel文件
sheet = wb[sheetname] # 打开指定工作表
total_rows = sheet.max_row # 获取总行数
excel_data = [] # 新建一个空列表,将读取出来的每行数据存放到列表中
for x in range(2, total_rows + 1): # 读取每行数据
case_data = [] # 组装每行列表数据,形成一个列表集合
for y in range(3, 8): # 获取第3列到第7列的数据,前两行是定义用例非测试信息
case_data.append(sheet.cell(row=x, column=y).value) # 将每行单元格数据添加到case_data列表中
excel_data.append(case_data) # 将每行数据添加到excel_data列表中
return excel_data
# 封装读取Excel文件
def read_excel(self, filename, sheetname):
wb = load_workbook(filename) # 打开指定的Excel文件
sheet = wb[sheetname] # 打开指定的工作表
total_rows = sheet.max_row # 获取总行数
excel_data = [] # 新建一个空列表,将读取出来的每行数据存放到列表中
for x in range(2, total_rows + 1): # 循环读取每行数据
case_data = [] # 组装每行列表数据,形成一个列表集合
for y in range(3, 10): # 获取第3列到第9列的数据
case_data.append(sheet.cell(row=x, column=y).value) # 将每行单元格数据添加到case_data列表中
excel_data.append(case_data) # 将每行数据添加到excel_data列表中
return excel_data # 返回excel_data
# 封装写入Excel文件
def write_excel(self, filename, id, result):
wb = load_workbook(filename) # 打开指定的Excel文件 打开一个工作簿
sheet = wb[wb.sheetnames[0]] # 打开第一个工作表
sheet.cell(id + 1, 10).value = result # 将测试结果写入Excel文件中
wb.save(filename) # 保存修改后的Excel文件