美文网首页
python接口自动化-pytest-结合数据驱动yaml

python接口自动化-pytest-结合数据驱动yaml

作者: 疯子李 | 来源:发表于2024-01-05 09:24 被阅读0次
    # -*- coding: utf-8 -*-
    # @Time    : 2023/6/13 19:44
    # @Author  : yanfa
    # @user   : yanfa 
    # @File    : pytest_for_yaml.py
    # @remark: pytest结合数据驱动
    """"""
    """一、什么是数据驱动?
    数据驱动是数据的改变而驱动自动化测试的执行,最终引起测试结果的改变,简单来说就是参数化的应用。
    数据量小的测试用例可以使用代码的参数化来实现数据驱动,数据量大的情况下建议使用结构化文件,如yaml/json/csv/excel对数据
    进行存储,然后在测试用例中读取这些数据。
    
    应用:
    1、app/web/接口自动化测试
    2、测试步骤的数据驱动
    3、测试数据的数据驱动
    4、配置的数据驱动"""
    import datetime
    import yaml
    
    """二、yaml文件介绍
    对象:键值对的集合,用冒号:表示
    数组:一组按次序排列的值,前面加-
    纯量:单个的,不可再分的值
        字符串、布尔值、整型、浮点型、Null、时间、日期
    见myyaml.yml
    """
    
    """三、yaml文件的使用
    查看yaml文件:pycharm/txt记事本
    读写yaml文件:
        安装:pip install pyyaml
        导入:import yaml
        写入方法:yaml.dump(f)
        读取方法:yaml.load(f)
    """
    
    # 1、写入示例
    myjson={'languages': ['Php', 'Java', 'Go'], 'book': {'python人们': {'price': 25.5, 'author': 'lily', 'available': True, 'repertory': 20, 'data': datetime.date(2018, 7, 27)}, 'java入门': {'price': 30, 'author': 'lily', 'available': False, 'repertory': None, 'data': datetime.date(2018, 5, 20)}}}
    with open('./my.yaml','w',encoding='utf-8') as f:
        yaml.dump(myjson,f,allow_unicode=True)  #allow_unicode防止中文乱码
    
    # 2、读取示例
    file_path = "./my.yaml"
    with open(file_path, 'r', encoding='utf-8') as f:
        data = yaml.safe_load(f)
        print(data)
    
    """四、工程目录结构
    data:存放yaml数据文件
    func: 存放被测函数
    testcase: 测试用例
    
    测试准备:
        被测对象:opertion.py
        测试用例:test_add.py
        测试数据:data.yaml"""
    

    相关文章

      网友评论

          本文标题:python接口自动化-pytest-结合数据驱动yaml

          本文链接:https://www.haomeiwen.com/subject/wesvgdtx.html