Pytest框架读取yaml文件

该博客介绍了如何使用Python的yaml库读取yaml配置文件,并结合pytest进行接口测试。内容涉及yaml文件的utf-8编码检查,使用notepad++查看文件格式,以及通过yaml_util.py读取配置并进行接口请求验证。

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

目录结构
yaml.util.py

import yaml

“”"
问题1:解析的yaml文件必须是utf-8的格式,可以用notepad++来查看格式
“”"

def read_yaml():
“”"
读取yaml文件
:return:
“”"
with open(‘get_new.yaml’, encoding=‘UTF-8’) as f:
data = yaml.load(f, Loader=yaml.FullLoader)
return data

if name == ‘main’:
print(read_yaml())

get_new.yaml

  • api_name: 获取网易新闻
    api_request:
    url: https://api.apiopen.top/getWangYiNews
    method: post
    headers:
    Content-Type: application/json
    params:
    page: 1
    count: 5
    api_validate:
    • eq: {code: 200}

test_api.py

import pytest
from yaml_util import read_yaml
import requests

class TestApi:

# 最基本的用法
# @pytest.mark.parametrize("args", ['百里', '星瑶', '依然', '修习人生'])
# def test_01_api(self, args):
#     """
#     获得网易新闻的接口
#     :return:
#     """
#     print(args)
# 解包的用法(ddt,unittest这个框架实现数据驱动的装饰器,@unpack)
@pytest.mark.parametrize("args", read_yaml())
def test_01_api(self, args):
    """
    获得网易新闻的接口
    :return:
    """
    print(args)
    url = args['api_request']['url']
    method = args['api_request']['method']
    headers = args['api_request']['headers']
    params = args['api_request']['params']
    validate = args['api_validate']
    print(validate)

    if method == 'get':
        requests.get()
    else:
        res = requests.post(url, json=params, )
        for val in validate:
            assert val['eq']['code'] == res.json()['code']

    # print(url)

if name == ‘main’:
pytest.main([’-vs’, ‘test_api.py’])

程序运行结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值