在做接口、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文件中的变量要对应

测试结果如下:

在这里插入图片描述

Logo

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。

更多推荐