Thunderclient如何将响应值传递给下一个请求

sur*_*gle 5 visual-studio-code thunderclient

我想使用来测试 http api。

以下步骤均有效

 +--------+                                         +------------------+
 |        |--1 -- Login with user + pass         -->|  Server          |
 |        |                                         |                  |
 |        |<-2 -- Login reply with access_token  ---|  if user+pass ok |
 |        |                                         |                  |
 |        |--3 -- checkConfig-request with token -->|  check token     |
 | Client |                                         |                  |
 |        |<-4 -- Reply with payload             ---|  if token ok     |
 +--------+                                         +------------------+
Run Code Online (Sandbox Code Playgroud)

但目前我将步骤 2 中的值复制access_token到步骤 3 中,然后手动发送请求。

这是步骤 2 的回复

{
  "access_token": "---best---kept---secret---",
  "expires_in": 300,
  "refresh_expires_in": 0,
  "token_type": "Bearer",
  "not-before-policy": 1626860494,
  "scope": ""
}
Run Code Online (Sandbox Code Playgroud)

我想使用-Reply (2)access_token中的值Login将其传递给变量{{access_token_cc}},然后使用该变量传递-request (3)中access_token的值(参见屏幕)Bearer TokencheckConfig

Thunderclient_how_to_pass_a_variable

问题 - 如何使用变量?

我不太明白如何创建变量并为其赋值。youtube 上有一个视频,但将各个部分组合在一起的步骤很简短,没有真正解释。

sur*_*gle 11

rioV8确实从文档中指出了如何将变量“连接/连接”到回复中的值。由于文档不包含任何图像,因此下面的屏幕截图希望有助于说明如何设置变量。

创建和分配变量的示例

为了能够使用变量,必须完成三件事

  1. 创建:创建变量作为环境的一部分。切换到选项卡Env,创建一个新环境。在其中创建一个变量fruitShop.next_url并可选择分配一个初始值。将环境设置为活动状态。
  2. 分配:切换到选项卡集合、创建新集合、添加请求。对于选项卡测试下的请求,可以将响应字段的值分配给变量 - 请参见下面的屏幕json.access_token = {{access_token_cc}}
  3. 使用:在请求中,您可以使用活动环境中的变量,语法为 {{yourvariable}}。

FruitShop -REST-API(德语)回复返回一个像这样的 json 结构

{
  "meta": { "count": 32, "limit": 10, "page": 1
          ,"next_url": "/shop/products/?page=2&limit=10" }
  , "products":[ 
      { "name": "Bananas", "product_url": "/shop/products/3"}
      , { ... }]
}
Run Code Online (Sandbox Code Playgroud)

创造

在屏幕上你可以看到

  • 环境fruitShop
  • 和一些变量 - 例如fruitShop.next_urlfruitShop.count; 两者都有初始值。

Thunderclient创建变量

分配

要为变量赋值,您需要切换到选项卡集合

  • 创建一个集合(此处fruitShop)并
  • 添加请求(此处Get Products 1
  • 单击请求(此处Get Products 1)并切换到选项卡test

Thunderclient 为 var 赋值

使用该选项,Set Environment Variable您可以将响应值分配给变量。

Thunderclient请求测试设置环境变量

在屏幕中,响应字段 (json.meta.countjson.meta.next_url) 被分配给您环境中的变量:

// response field       environment variable
json.meta.count = {{fruitShop.count}}
json.meta.next_url = {{fruitShop.next_url}}
Run Code Online (Sandbox Code Playgroud)

使用

您现在可以通过此语法使用变量{{yourVariable}}

Thunderclient 使用变量


rio*_*oV8 2

根据文档

将变量的来源设置为json.access_token

确定要将其存储到哪种类型的环境