邮递员:在测试中使用变量来更改要测试的响应属性

时间:2020-06-02 07:41:21

标签: variables postman

我希望能够使用相同的Postman Collection和脚本来测试两种不同类型请求中Response的值。

其中var vResponse = pm.response.json();

一个请求是一个GET,它返回一个id的所有属性。测试的格式为:

    pm.test("description", function () {
       pm.expect(vResponse.description).to.eql(pm.variables.get("DESCRIPTION"));
    });

第二个请求返回一个ID的所有属性,但这一次是在搜索结果集中。因此,测试的格式为:

     pm.test("description", function () {
       pm.expect(vResponse.entry[vResourceIteration].resource.description).to.eql(pm.variables.get("DESCRIPTION" 
     ));
     });

我想知道我是否可以通过一个涵盖两种可能的响应格式的测试来实现这一目标。 测试将是相同的,除了对搜索结果集的额外限定。因此,从将来的维护角度来看,最好只拥有一个脚本。 概念上类似: -根据所执行的测试类型,有一个环境变量eTestPrefix,其中包含值“ entry [vResourceIteration] .resource”或“” -测试将需要执行以下操作:

 pm.test("description", function () {
 pm.expect(vResponse(pm.environment.get("eTestPrefix")).description).to.eql(pm.variables.get("DESCRIPTION"));
 {);

关于如何实现此目标的任何建议?

谢谢 克里斯

0 个答案:

没有答案