pytest + yaml 框架 -55. raw 不转义模板语法

前言

在yaml 文件中,设置的引用变量语法是${var}, 最近有小伙伴提到一个需求:请求参数的内容需要有特殊符号${var},
希望不被转义,不要引用变量,直接用原始数据即可。
备注:从v1.2.4 以后新版本不再公开,新功能内部 VIP 学员可以使用,公开版本仅解决bug, 不提供新功能了。

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 "

网易云完整视频课程https://study.163.com/course/courseMain.htm?courseId=1213419817&share=2&shareId=480000002230338
报名咨询wx:283340479 (已报名的同学学习过程中有问题,都可以协助解决)

posted @ 2023-09-22 21:12  上海-悠悠  阅读(56)  评论(0编辑  收藏  举报