【问题标题】:If statement in Postman testsPostman 测试中的 if 语句
【发布时间】: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 语句? 谢谢!

【问题讨论】:

  • 什么不起作用?你能提供更多细节吗?它会抛出错误吗?

标签: javascript html json postman qa


【解决方案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

【讨论】:

  • 不客气。 :) 你想接受那个答案吗?
猜你喜欢
  • 2018-10-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-25
  • 1970-01-01
  • 2021-06-10
  • 2016-08-16
相关资源
最近更新 更多