接口自动化测试:yaml文件中变量替换


在做接口、UI自动化的时候,我们可以用yaml文件来管理测试用例的步骤、数据,因为每次测试的数据需要动态变换,所以yaml文件中相关参数可能需要用变量表示。那么,我们怎么进行变量的传值呢?

这里可以用到字符串的模板替换功能,官方文档:https://docs.python.org/zh-cn/3/library/string.html#template-strings

yaml文件中内容如下:

method: get url: http://www.baidu.com json: key1: $value1 key2: $value2

其中,需要动态变换的参数值我们用$符号标识:$value1、$value2

下面进行yaml文件的读取,然后进行变量替换,替换后返回字典类型的值:

    def yaml_template(self,data:dict): with open("../data/test_template.yaml",encoding="utf-8") as f: re = Template(f.read()).substitute(data) return yaml.safe_load(re)

其中Template方法需要传入一个字符串,substitute方法传入关键字参数或者字典,注意key与yaml文件中的变量要对应

测试结果如下:

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM