5

我已经在 PostMan 中设置了一个集合,并且能够使用以下测试成功地将我的不记名令牌值保存到环境变量中

var jsonData = JSON.parse(responseBody);
pm.environment.set("mytoken", jsonData.token);

但是我如何设置一个新的调用来使用它呢?

我试过添加一个标题

Authorization Bearer <mytoken>

但是当我发布状态是 401 Unauthorized

4

6 回答 6

7

您可以使用Teststab 来编写更新环境变量的代码,如此链接中所述。在此处阅读有关测试脚本的更多信息。

在此处输入图像描述

假设 auth 调用的响应是:

{
    "token": "woaejrlajfaoidhfalskdjfalsdijfasd"
}

然后,在Tests选项卡中,您可以这样写:

var jsonData = JSON.parse(responseBody);
postman.setEnvironmentVariable("token", jsonData.token);

token每当您触发 auth 调用时,这将更新变量。此token变量应在所有 API 调用的标头中使用,以自动更新。

还要检查继承 auth

于 2020-01-20T23:36:34.450 回答
4

在我需要使用的标题中

为钥匙

Authorization 

为价值

Bearer {{mytoken}}
于 2018-06-17T05:51:37.500 回答
2

概括:

  1. 创建一个变量以将 Auth Token 值存储在单个位置以在整个集合中使用。
  2. 为整个集合设置默认的授权方法。
  3. 无需为每个请求设置授权标头,而是将每个请求的授权设置为使用“从父级继承身份验证”来使用正确的身份验证标头自动填充请求。

您可以在 Postman 环境和集合中定义变量,以便通过在一个地方设置一个值并在尽可能多的地方引用它来简化您的请求。因此,您可以为您的 Bearer Token 值创建一个变量。通过编辑您的集合并转到“变量”选项卡以添加新变量来执行此操作。

在编辑您的集合时,转到“变量”选项卡以添加一个可以在整个集合中使用的新变量。

此外,在编辑您的集合时,请转到“授权”选项卡,为您的集合中的所有请求设置默认授权。您可以将集合的授权类型设置为 Bearer,并将令牌值设置为您定义的变量。这将允许您对集合中的所有请求使用相同的授权令牌:

此外,在编辑您的集合时,请转到“授权”选项卡,为您的集合中的所有请求设置默认授权。

然后为了使用集合的默认授权方法,您需要设置该集合中的请求以将授权类型设置为“从父级继承身份验证”。这样做将使您不必手动将 Authorization 标头添加到每个请求中。如果您已经为集合定义了一个默认选项(如上图所示),则集合中选择了“从父级继承身份验证”授权类型的每个请求都将自动使用适当的授权标头填充请求。

将每个请求设置为使用授权类型

干杯!

于 2019-06-06T17:30:19.060 回答
1
pm.environment.set("JWT",pm.response.json().token)

注意JWT是您在环境中设置的环境变量

于 2021-04-28T16:55:24.450 回答
1

我在登录后使用脚本进入测试选项卡,如下所示;

let jsonData = JSON.parse(responseBody);

pm.collectionVariables.set("jwt_token", jsonData.data.token);

在此处输入图像描述

并创建一个集合变量,如下所示; 在此处输入图像描述

于 2021-03-26T11:29:07.550 回答
1

就像克里斯汀所说的那样。或者下载最新的邮递员桌面应用程序,因为授权他们可以选择在标题中添加不记名令牌

于 2018-06-17T06:38:48.477 回答