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
}
但我强烈建议你,不要这样做!
在测试方面,您希望一次测试只检查一件事。否则这很可能会导致误解并增加维护工作量。
我建议创建一个创建用户的请求,并进行相应的测试。另一个尝试重新创建用户,再次根据测试。
我有一个问题,是否可以在测试中检查多个状态代码。 当我重新运行测试同一批用户的用例时,创建用户时为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
}
但我强烈建议你,不要这样做! 在测试方面,您希望一次测试只检查一件事。否则这很可能会导致误解并增加维护工作量。
我建议创建一个创建用户的请求,并进行相应的测试。另一个尝试重新创建用户,再次根据测试。