如果状态代码为 200,即使输入错误,如何使用 Postman 测试身份验证?
How can I test authentication with Postman if status code is 200 even if I give wrong inputs?
我正在学习 Postman,我尝试使用有效和无效数据进行身份验证。 (我正在使用基本身份验证)。
如果我提供有效数据,登录会按原样将我重定向到索引页面,并提供 200 OK 状态代码。但是,如果我传递了错误的参数,状态代码也仍然是 200 OK,只有页面告诉我,我的用户名和密码不正确。我尝试使用在某处找到的以下方法:
pm.test("Request is successful with a status code of 200", function () {
pm.response.to.have.status(200);
});
我认为 postman 给了我 200 OK,因为 post-请求已完成,并且登录失败选项已正确处理。 (我不得不提一下,我正在测试的这个 API 是预定义的,我没有做到。)
那么基本上我该如何测试呢?
您可以检查响应正文不包含特定字符串:
pm.test("Body does not contain invalid login message",() => {
pm.expect(pm.response.text()).to.not.include("invalid login");
});
将 invalid login
替换为您要检查的字符串。
我正在学习 Postman,我尝试使用有效和无效数据进行身份验证。 (我正在使用基本身份验证)。 如果我提供有效数据,登录会按原样将我重定向到索引页面,并提供 200 OK 状态代码。但是,如果我传递了错误的参数,状态代码也仍然是 200 OK,只有页面告诉我,我的用户名和密码不正确。我尝试使用在某处找到的以下方法:
pm.test("Request is successful with a status code of 200", function () {
pm.response.to.have.status(200);
});
我认为 postman 给了我 200 OK,因为 post-请求已完成,并且登录失败选项已正确处理。 (我不得不提一下,我正在测试的这个 API 是预定义的,我没有做到。) 那么基本上我该如何测试呢?
您可以检查响应正文不包含特定字符串:
pm.test("Body does not contain invalid login message",() => {
pm.expect(pm.response.text()).to.not.include("invalid login");
});
将 invalid login
替换为您要检查的字符串。