自动化测试 yaml 文件之间的相互引用

一、目的

在接口自动化测试使用yaml文件写测试数据时,经常会使用到yaml文件中的某个值需要引用另外一个yaml文件中的值,非常头疼,下面就解决了这个问题:

案例:

a.yaml

id: 1
name: wang
age: 18

b.yaml

info: 这里要引用a.yaml
sex: boy

解:

b.yaml

info: info: !include a.yaml
sex: boy

dome.yaml

需要安装一个pyyaml-include

from yamlinclude import YamlIncludeConstructor
import yaml


def add_base_yaml(rootfile, basefile):
"""
rootfile:需要引用的文件路劲(b.yaml)
basefile:被引用文件的根目录(a.yaml的上级文件夹目录)
"""
    YamlIncludeConstructor.add_to_loader_class(loader_class=yaml.FullLoader, base_dir=basefile)
    with open(rootfile) as f:
        data = yaml.load(f, Loader=yaml.FullLoader)
    return data


if __name__ == '__main__':
    print(add_base_yaml(r"C:\Users\虎克\Desktop\apiAutoTest\data\b.yaml",r"C:\Users\虎克\Desktop\apiAutoTest\data"))

结果如下:

![IKR8I%EQ}P_DKPSAB)WCXN.png

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容