Postman 测试中的 if 语句

Gen*_*uts 6 html javascript json qa postman

我在 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);
Run Code Online (Sandbox Code Playgroud)

但这对我不起作用。

在我的逻辑中,邮递员应该检查登录状态并根据 login_status 值只使用一个 pm.expect...。

如何在 Postman 中使用 if 语句?谢谢!

Dan*_*ton 2

您正在使用的比较运算符正在返回false,因为它正在检查相同的内容type,请尝试使用==而不是===

Postman 环境文件中存储的值是 a ,并且您在测试中string对 a 进行严格等于。number

您还可以尝试将number值更改为string这样的值login_status === "1"或使用严格的不等式,这样您使用的类型并不重要,就像这样login_status !== 2

parseInt()当您从文件中获取值时,您甚至可以只使用函数。

parseInt(pm.environment.get("LOGIN_STATUS"))
Run Code Online (Sandbox Code Playgroud)

这完全取决于您以及您想要构建支票的方式。

有关比较运算符的更多信息可以在这里找到: https: //developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Comparison_Operators#Identity