我如何验证邮递员的响应中是否存在重复的标头值

时间:2018-09-24 10:11:43

标签: json header response postman

我想验证响应头是否唯一。如果响应头不是唯一的,我的邮递员测试将失败。因为如果有更多具有相同名称的响应标头,则会附加这些值,并且我的期望会失败。

因此,我需要邮递员测试以验证响应标头是否唯一。我该怎么办?

1 个答案:

答案 0 :(得分:0)

不确定这是否行得通,但它正在获取响应标头密钥并将其另存为headers变量。然后,在该值上执行_.uniq,创建一个新的array,该数据将去除重复项,然后将其设置为uniqueHeaders变量。

测试期望这两个变量是相同的,如果我正确地做到了,那么标头应该匹配并且检查将通过,如果响应标头是重复的(无论如何实际上都不应该发生),那么检查将失败,因为uniqueHeaders与实际的响应标头不匹配。

pm.test("Checks Headers", () => {

    let headers         = _.keys(pm.response.headers.toObject())
    let uniqueHeaders   = _.uniq(_.keys(pm.response.headers.toObject()))

    pm.expect(headers).to.eql(uniqueHeaders)
});

我还没有测试过,这是检查重复项的可怕解决方案。您至少可以使用pm.response.headers值并尝试并使用它来获得更好的工作解决方案。