使用 template 替换 yaml 文件的变量

前言
在接口自动化测试的时候,yaml 文件一般放测试的数据或当配置文件使用,yaml 文件存放静态的数据是没问题的,python的数据类型基本上都是支持的。
有时候我们想在 yaml 文件中引用变量来读取 python 代码的设置值。

template 使用

template 是字符串模板,用于替换字符串中的变量,是 string 的一个类引用变量有 2 种格式
variable使用变量名 引用变量
variable使用{变量名} 大括号包起来
第一种 $variable
在这里插入图片描述
第二种 v a r i a b l e ! [ 在 这 里 插 入 图 片 描 述 ] ( h t t p s : / / i m g − b l o g . c s d n i m g . c n / 20210526143959771. p n g ? x − o s s − p r o c e s s = i m a g e / w a t e r m a r k , t y p e Z m F u Z 3 p o Z W 5 n a G V p d G k , s h a d o w 1 0 , t e x t a H R 0 c H M 6 L y 9 i b G 9 n L m N z Z G 4 u b m V 0 L 0 x v d m V f U G 9 s Y X J p c w = = , s i z e 1 6 , c o l o r F F F F F F , t 7 0 ) ∗ ∗ s a f e s u b s t i t u t e 使 用 ∗ ∗ 上 面 的 方 式 只 能 严 格 的 匹 配 变 量 , 当 字 符 串 中 有 {variable} ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210526143959771.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0xvdmVfUG9sYXJpcw==,size_16,color_FFFFFF,t_70) **safe_substitute使用** 上面的方式只能严格的匹配变量,当字符串中有 variable![](https://imgblog.csdnimg.cn/20210526143959771.png?xossprocess=image/watermark,typeZmFuZ3poZW5naGVpdGk,shadow10,textaHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0xvdmVfUG9sYXJpcw==,size16,colorFFFFFF,t70)safesubstitute使符号,不想匹配变量的时候,会报错
在这里插入图片描述
这段,$符号加在My的前面,我只想让它是一个普通的字符串,不想引用变量,就出现了报错说找不到这个key
在这里插入图片描述
Template 里面还有一个 safe_substitute 的方法,可以忽略匹配不到的变量

在这里插入图片描述
虽然字符串定义了多个变量,但是引用的时候只给了name这个值,也不影响运行,没给值的当普通字符串出来,这样就很完美了

yaml 文件引用变量
通过前面 Template 的基础使用,已经掌握了基本的用法了,接下来在 yaml 文件中引用变量
在这里插入图片描述
python读yaml文件代码
在这里插入图片描述
运行结果
在这里插入图片描述
这样 yaml 文件就能引用到 python 的变量了

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值