私有物pytest


写在文头,参考文档
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文件
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值