首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用我试图测试的邮递员,我的API的各种场景。但是我有一个问题,如果我有一个身份验证API,我如何重用一个令牌?

使用我试图测试的邮递员,我的API的各种场景。但是我有一个问题,如果我有一个身份验证API,我如何重用一个令牌?
EN

Stack Overflow用户
提问于 2022-03-14 08:49:31
回答 2查看 265关注 0票数 0

但是我有一个问题,如果我有一个身份验证API (我不使用任何授权方法),它每次响应时(在一个POST请求之后)为我生成一个不同的令牌,用于其他API,我如何在环境中添加这个令牌,以便自动获取,并且只在其他API中调用?

例如,更具体一点: POST请求

代码语言:javascript
复制
{
"username": "test",
"password": "password"
}

响应:

代码语言:javascript
复制
{
"status": 0,
"message": "success"
"token":"zxvnm5yrhd6dfdfd6fd8g56f6teui5AXgGk851"
}

为了进行测试,这个令牌需要添加到其他API中,但是我希望它被自动添加,或者只是调用它,所以我不需要总是复制粘贴。

还有另一个好奇,你能给我一些关于如何在邮递员中自动化测试和通过电子邮件获取结果的通知/测试的教程的建议吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-03-14 09:18:29

成功注册后,可以将令牌变量设置为环境变量。例如,将变量设置为{{autToken},然后用pm.environment.set("autToken", userData.accessToken);设置值,在邮递员测试中使用该令牌的所有其他API中,将授权参数设置为Bearer (如果您的令牌是承载令牌),并将该env变量作为参数。

票数 1
EN

Stack Overflow用户

发布于 2022-03-14 09:23:37

您可以为您的集合创建一个变量,它将保存令牌,让我们将其称为access.token多么去做吧。

您可以在请求之后添加获取访问令牌的测试,这实际上不会测试任何内容,但会设置变量值。

代码语言:javascript
复制
pm.test("Set access token", function() {
    console.log("Attempting to set access token variable");
    pm.response.to.have.status(200);
    let token = pm.response.json()["token"];
    if (token === undefined || token === "") {
        console.log("Missing access token");
        return;
    }
    pm.collectionVariables.set("access.token", token);
});

这个示例实际上测试响应状态代码为200,但您可以根据需要删除/更改它。第一步并不是真正需要的,如果缺少变量,在测试中设置变量将创建。

然后,您可以在其他请求中使用该变量,如下所示:

代码语言:javascript
复制
{{access.token}}

也检查一下邮递员向导

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

https://stackoverflow.com/questions/71465044

复制
相关文章

相似问题

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