我在邮递员工作,我想要构建这样的测试结构:
var login_status = pm.environment.get("LOGIN_STATUS");
var jsonData = pm.response.json();
pm.test("TESTS", function () {
if (login_status === 1) {
pm.expect...(test 1);
}else if (login_status === 2) {
pm.expect...(test 2);
}else if (login_status === 3) {
pm.expect...(test 3);
但是它对我不起作用。
按照我的逻辑,邮递员应检查登录状态,并仅使用一个pm.expect ...来对应login_status值。
如何在Postman中使用if语句? 谢谢!
答案 0 :(得分:2)
您正在使用的比较运算符将返回false
,因为它正在检查相同的type
,请尝试使用==
而不是===
。
在Postman环境文件中存储的值是string
,在测试中,您要对number
进行严格等于。
您还可以尝试将number
的值更改为string
的{{1}}值,或使用严格的不等式,这样您使用的类型就无关紧要,例如{{1} }。
从文件中获取值时,甚至可以只使用login_status === "1"
函数。
login_status !== 2
这完全取决于您以及您构造支票的方式。
可以在这里找到有关比较运算符的更多信息: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Comparison_Operators#Identity