但是我有一个问题,如果我有一个身份验证 API(我不使用任何授权方法),它每次响应(在 POST 请求之后)都会为我生成一个不同的令牌,以便在其他 API 中使用,如何在环境中添加该令牌以自动获取并且仅在其他 API 中调用?
例如,更具体一点: 开机自检请求
{
"username": "test",
"password": "password"
}
响应:
{
"status": 0,
"message": "success"
"token":"zxvnm5yrhd6dfdfd6fd8g56f6teui5AXgGk851"
}
该令牌需要添加到其他 API 才能进行测试,但我希望它自动添加,或者只是调用它,所以我不必总是复制粘贴。
还有一个好奇心,你能给我一些教程建议,关于如何在邮递员中自动化测试,以及通过电子邮件获取结果的警报/测试?
注册成功后,您可以将令牌变量设置为环境变量。 例如,将变量设置为 {{autToken}} 使用pm.environment.set("autToken", userData.accessToken);
设置您的值 之后,在邮递员测试中使用该令牌的所有其他 API 中,将授权参数设置为持有者令牌(如果您的令牌是持有者令牌),并将该 env 变量作为参数。
您可以为您的集合创建一个变量,该变量将保存令牌,我们将其称为access.token
。怎么做。
您可以在请求获取访问令牌后添加一个测试,这实际上不会测试任何内容,但会设置变量值。
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,但您可以根据需要删除/更改它。第一步并不是真正需要的,如果在测试中设置变量,则会创建。
然后,您可以在其他请求中使用该变量,如下所示:
{{access.token}}
也请查看邮递员指南。