美文网首页
python读取、写入yaml文件

python读取、写入yaml文件

作者: sai德很黑 | 来源:发表于2021-05-02 19:38 被阅读0次

    在自动化测试中yaml文件可以存放测试数据,也可以存放静态配置文件。
    配置文件三种形式(.ini、.py、.yaml).ini格式在这里:python配置文件中的方法以及封装

    一、导入模块 PyYAML

    pip install PyYAML
    

    二、yaml文件格式

    1、文件以.yaml或者(.yml)结尾

    -    #列表
     url: 'url'  #字典
     method: 'post'
     header: {"Content-Type":"application/json"}
     data: {"username":"zhangsaen32", "password":"a1234567"}
     expect: 200  #默认读取出来类型是int,要转字符串可以加 “”
    
    #表示是列表嵌套字典
    [{'url': 'url', 'method': 'post', 'header': {'Content-Type': 'application/json'}, 'data': {'username': 'zhangsaen32', 'password': 'a1234567'}, 'expect': 200}]
    

    三、读取、写入yaml文件

    # -*- coding: UTF-8 -*-
    """
    @FileName:  read_yaml.py
    @Author:    公众号:《测试小白从零开始》  简书作者:sai德很黑
    @time:      2021/05/02
    """
    
    import yaml
    
    '''
        配置文件读取、写入封装
    '''
    class YamlHandler:
    
        def __init__(self,file):
            '''
            :param file: yamal文件路径
            '''
            self.file = file
    
        #   读取yaml数据
        def read_yaml_data(self):
            with open(self.file,encoding='utf-8') as f:
                data = yaml.load(f.read(),Loader=yaml.FullLoader)
            return data
    
        #写入yaml数据
        def write_yaml_data(self,key, value):
            """
    
            :param key: 字典的key
            :param value: 写入的值
            :return:
            """
            with open(self.file, 'r', encoding="utf-8") as f:
                doc = yaml.safe_load(f)
    
            for item in doc:
                item[key] = value
    
            with open(self.file, 'w', encoding="utf-8") as f:
                yaml.safe_dump(doc, f, default_flow_style=False,allow_unicode=True)
    

    四、还未解决的坑

    目前写入yaml只能写入一个数据,若我要写入返回结果、测试结果、执行时间,写入方法还有待优化,有更好的方法可以下方指点指点

    相关文章

      网友评论

          本文标题:python读取、写入yaml文件

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