首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Tavern中保存变量时,"JMES路径查询“是什么样子的?

在Tavern中保存变量时,"JMES路径查询“是什么样子的?
EN

Stack Overflow用户
提问于 2019-11-22 23:33:21
回答 1查看 115关注 0票数 0

在我的Tavern测试文件中,我保存一个变量,如下所示:

代码语言:javascript
复制
[...]
save:
  headers:
    csrf: x-csrf-token
[...]

当我运行pytest时,它记录了这个警告:

代码语言:javascript
复制
tavern/util/dict_util.py:119: FutureWarning: In a future version of Tavern, selecting for values to save in nested objects will have to be done as a JMES path query - see http://jmespath.org/ for more information

JMESPath.org没有多大帮助,Tavern's documentation也是如此。'x-csrf-token‘字段没有嵌套在'headers’中,所以我不理解这个警告。我尝试了两种不同的类似JMES的语法,但都给出了"cant find key“错误:

代码语言:javascript
复制
save:
  csrf: headers.x-csrf-token

save:
  headers:
    csrf: headers.x-csrf-token

酒馆到底在期待什么?

EN

回答 1

Stack Overflow用户

发布于 2020-04-17 21:03:44

JMESPath不带引号的标识符不能包含连字符。您可以改用quoted identifier。尝试:

代码语言:javascript
复制
save:
  headers:
    csrf: '"x-csrf-token"'

单引号是用来告诉YAML双引号是字符串的一部分。JMESPath中的双引号允许您在标识符中包含原本允许的字符,例如连字符。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58997357

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档