【发布时间】:2016-08-12 17:31:17
【问题描述】:
我正在尝试使用 dredd 和 api blueprint 运行多个 api 调用来测试站点。我想在 circleCI 上运行测试,因为 Selenium 测试在同一个地方运行。每笔交易都需要附有两个令牌,这些令牌在标头中设置为 cookie。理想情况下,这些将在 dredd.yml 文件中设置。在本地机器上运行时,如果我将ACCESS_TOKEN 和REFRESH_TOKEN 替换为实际值,测试将按预期运行。
circle.yml:
test:
override:
- dredd
dredd.yml 头文件
header: ['Cookie: access_token=ACCESS_TOKEN; refresh_token=REFRESH_TOKEN']
ACCESS_TOKEN 和 REFRESH_TOKEN 被替换为 circleCI 环境变量中设置的实际值。我也试过:access_token=$[ACCESS_TOKEN]、access_token=$["ACCESS_TOKEN"] 和 access_token=$ACCESS_TOKEN。这些都没有在第一个 api 调用的标头中被替换。
标题看起来像:{"Content-Type":"application/json; charset=utf-8","User-Agent":"Dredd/1.4.0 (Darwin 14.5.0; x64)","Cookie":" access_token=$ACCESS_TOKEN; refresh_token=$REFRESH_TOKEN"}
我是 yaml 文件的新手,所以我可能缺少一些基本的东西,但我确实搜索了一段时间。 hooks 文件是用 node.js 编写的,所以我认为 ruby/rails 帮助在这里没有用。如果我在问题中遗漏了任何内容,请随时告诉我。
【问题讨论】:
标签: node.js yaml circleci apiblueprint dredd