Llu*_*ñol 14 testing automated-tests postman
我想检查具体响应头("位置")中的值作为Postman中的测试结果.在Postman的文档中,我找到了如何检查标题存在的示例
pm.test("Content-Type is present", function () {
pm.response.to.have.header("Content-Type");
});
Run Code Online (Sandbox Code Playgroud)
但我正在寻找的是类似的东西
pm.test("Location value is correct", function () {
CODE HERE THAT CHECKS "Location" HEADER EQUALS TO SOMETHING;
});
Run Code Online (Sandbox Code Playgroud)
Llu*_*ñol 37
我终于找到了解决方案:
pm.test("Redirect location is correct", function () {
pm.response.to.have.header("Location");
pm.response.to.be.header("Location", "http://example.com/expected-redirect-url");
});
Run Code Online (Sandbox Code Playgroud)
小智 5
这是在“测试”部分中提取特定响应标头的另一种方式...
loc = pm.response.headers.get("Location");
以防万一,如果后续请求需要特定信息(例如标头值),则还可以如下将其存储/设置为环境变量,然后进一步重用
pm.environment.set("redirURL", loc);
var loc = null;
pm.test("Collect redirect location", function () {
pm.response.to.have.header("Location");
loc = pm.response.headers.get("Location");
if (loc !== undefined) {
pm.environment.set("redirURL", loc);
}
});
Run Code Online (Sandbox Code Playgroud)
优点是-可以操纵变量中收集的值。
但这一切都取决于情况。像,您可能想要提取和预处理/后处理重定向URL。
例如,
在运行测试集合时,您希望将值收集到一个变量中并将其更改为指向模拟服务器的host:port。
| 归档时间: |
|
| 查看次数: |
8559 次 |
| 最近记录: |