邮递员的全局功能

时间:2020-04-03 22:11:07

标签: function postman assertion global-functions

我正在编写此全局函数,以使用期望的消息来断言这些字段,并传递字段和ExpectedMessage作为参数。

   postman.setEnvironmentVariable("errorMessages", () => {
   var assertFieldErrorMessage = (field,expectedMessage) => {
   if (responseBody.has("data")) {
        pm.expect(pm.response.json().data.fieldErrors.get(field)).to.include(expectedMessage);
     } 
    };
 return {
    myPackage: {
        assertFieldErrorMessage
    }
};

这就是我从测试脚本中调用函数的方式

   let errorMessages = eval(environment.errorMessages)();
   errorMessages.myPackage.assertFieldErrorMessage("email","Invalid value"); 

这是响应主体的样子:

      "data": {
    "globalErrors": [],
    "fieldErrors": {
        "email": [
            "Invalid value for - "
]
    }
}

很难在不对它们进行硬编码的情况下声明fieldErrors中的字段。 怎么了?

1 个答案:

答案 0 :(得分:0)

使用:

pm.expect(pm.response.json().data.fieldErrors[field]).to.include(expectedMessage);

代替:

pm.expect(pm.response.json().data.fieldErrors.get(field)).to.include(expectedMessage);
相关问题