Postman newman 处理状态码

Postman newman handle status codes

我有一个问题,是否可以在测试中检查多个状态代码。 当我重新运行测试同一批用户的用例时,创建用户时为201,当用户已经存在时为409。 201 已处理,但 409 未处理。一个

 var data = pm.response.json()
 pm.test("Status test", function () {
  return  pm.response.to.have.status(200) || pm.response.to.have.status(409);
     
});


There was an error in evaluating the test script:  JSONError: Unexpected token 'U' at 1:1 User already Exists ^

编辑:

对于200我正在获取用户对象我不能post这个对象在这里

对于 409 字符串用户已经存在

一种更优雅的测试状态 200 或 409 的方法是:

pm.expect(pm.response.code).to.be.oneOf([200, 409]);

status为409时会出现错误,因为此时请求的不是returnJSON,而是一个字符串。 我会放类似

的东西
if (pm.response.code == 200) {
    var data = pm.response.json()
    // your code
}

但我强烈建议你,不要这样做! 在测试方面,您希望一次测试只检查一件事。否则这很可能会导致误解并增加维护工作量。

我建议创建一个创建用户的请求,并进行相应的测试。另一个尝试重新创建用户,再次根据测试。