前言
在yaml 文件中,设置的引用变量语法是${var}
, 最近有小伙伴提到一个需求:请求参数的内容需要有特殊符号${var}
,
希望不被转义,不要引用变量,直接用原始数据即可。
raw 忽略模板语法
Jinja2提供了 "raw" 语句来忽略所有模板语法。
语法示例
{ % raw % }hello ${var} world! { % endraw % }
在yaml文件中用例示例
test_a1:
variables:
name: yoyo
request:
url: http://example.com
method: post
json:
username: '${name}'
diy: '{% raw %}hello ${var} world {% endraw %}'
运行日志
2023-09-22 21:09:04 [INFO]: method -->: post
2023-09-22 21:09:04 [INFO]: url -->: http://example.com
2023-09-22 21:09:04 [INFO]: headers -->: {'User-Agent': 'python-requests/2.31.0', 'Accept-Encoding': 'gzip, deflate', 'A
ccept': '*/*', 'Connection': 'keep-alive'}
2023-09-22 21:09:04 [INFO]: json -->: {"username": "yoyo", "diy": "hello ${var} world "}
2023-09-22 21:09:04 [INFO]: ------ response info 200 OK ------
运行日志可以看出,username 会引用变量得到值"yoyo"
diy参数设置了raw获取原始数据,不做变量加载,于是得到原始值"hello ${var} world "