Postman 测试中的 if 语句
Posted
技术标签:
【中文标题】Postman 测试中的 if 语句【英文标题】:If statement in Postman tests 【发布时间】:2019-01-15 13:19:34 【问题描述】:我在 Postman 工作,我想构建这样的测试结构:
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);
但它并不适合我。
在我的逻辑中,Postman 应该检查登录状态并根据 login_status 值仅使用一个 pm.expect...。
如何在 Postman 中使用 if 语句? 谢谢!
【问题讨论】:
什么不起作用?你能提供更多细节吗?它会抛出错误吗? 【参考方案1】:您使用的比较运算符返回false
,因为它正在检查相同的type
,请尝试使用==
而不是===
。
存储在 Postman 环境文件中的值是 string
,在测试中,您正在与 number
严格相等。
您也可以尝试将number
值更改为string
值,例如login_status === "1"
,或者使用严格的不等式,这样您使用的类型就无关紧要,例如login_status !== 2
。
当您从文件中获取值时,您甚至可以只使用 parseInt()
函数。
parseInt(pm.environment.get("LOGIN_STATUS"))
这完全取决于您和您想要构建支票的方式。
更多关于比较运算符的信息可以在这里找到: https://developer.mozilla.org/en-US/docs/Web/javascript/Reference/Operators/Comparison_Operators#Identity
【讨论】:
不客气。 :) 你想接受那个答案吗?以上是关于Postman 测试中的 if 语句的主要内容,如果未能解决你的问题,请参考以下文章