[英]Global functions in postman
我正在编写这个全局 function 来断言具有预期消息的字段并传递字段和 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
}
};
这就是我从我的测试脚本中调用 function 的方式
let errorMessages = eval(environment.errorMessages)();
errorMessages.myPackage.assertFieldErrorMessage("email","Invalid value");
这就是响应正文的样子:
"data": {
"globalErrors": [],
"fieldErrors": {
"email": [
"Invalid value for - "
]
}
}
很难断言 fieldErrors 中的字段而不对其进行硬编码。 这有什么问题?
利用:
pm.expect(pm.response.json().data.fieldErrors[field]).to.include(expectedMessage);
代替:
pm.expect(pm.response.json().data.fieldErrors.get(field)).to.include(expectedMessage);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.