3

如何从另一个 GET API 的预请求脚本选项卡调用 POST API 请求(登录 API 具有带有用户名和密码字段的请求正文),该 GET API 在其请求 URL 中使用来自上述 API 正文的令牌。

登录 API:POST 方法;请求正文:用户名和密码;响应正文:令牌。获取客户记录 API:GET 方法;请求 URI:/token/

只想在 Postman 中的一个测试中涵盖这种端到端场景。可以请任何人帮助我使用此预请求脚本吗?我应该如何调用登录 API?

4

2 回答 2

6

我刚刚遇到了同样的问题,在这里找到了解决方案。

简而言之,您可以将请求对象而不是 URL 传递给请求。

const loginRequest = {
    url: 'http://example.com/login',
    method: 'POST',
    header: 'Content-Type: application/json',
    body: {
        mode: 'application/json',
        raw: JSON.stringify({        
            "username": pm.environment.get("username"),
            "password": pm.environment.get("password")
        })
    }
};


pm.sendRequest(loginRequest, function (err, response) {
    pm.environment.set("accessToken", response.json().token);
});

这里的所有都是它的。

更新我刚刚在 Postman 文档中找到了详细信息。

于 2018-10-19T08:22:07.823 回答
0

这肯定是可能的。

  1. 在 Postman 的“预请求脚本”选项卡上,使用 jQuery ajax 方法向您的登录 API 发出 POST 请求。
  2. 将响应正文(您的令牌)保存到环境变量(postman.setEnvironmentVariable())中。
  3. 将您/token/的 Postman 请求 url 部分设置为 /{{your_variable_name}}/。

看看这个

于 2017-05-25T08:08:30.397 回答