首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在postman测试中,当输入参数可以为空时,如何使用多个值中的一个断言响应值?

在postman测试中,当输入参数可以为空时,如何使用多个值中的一个断言响应值?
EN

Stack Overflow用户
提问于 2020-09-23 14:02:09
回答 2查看 883关注 0票数 0

我有一个名为IsFruit的输入参数,它可以是0或1。如果值是0,响应应该返回FruitsYN值为N的水果。类似地,如果值是1,FruitsYN应该是Y。如果这个参数没有值,响应可以有FruitsYN Y或N。这是我写的代码,虽然有些情况是通过,但其他情况是失败的。当输入中的值为空时,我输出了IsFruit。看起来像是∅

代码语言:javascript
运行
复制
var requestData = JSON.parse(request.data);
var responseData = JSON.parse(responseBody);
var IsFruit=requestData.IsFruit;// IsFruit can be either 0,1 or empty
pm.test("Status code is 200", function () {
    pm.response.to.have.status(200);
    pm.test("Check if Fruits found with this search criteria", function() {
        pm.expect(responseData.Message).to.not.eql("No Fruits found with this search criteria");

        var list = (responseData.Fruits).length;
        //console.log(list);
        var a = [];
        
        for (var i = 0; i < list; i++) {
            var counter = responseData.Fruits[i];
            FruitsYN = counter.FruitsYN
            //console.log(FruitsYN);
            a.push(FruitsYN)
            pm.test("Check whether Fruit values in the Fruits returned is accurate based on fruit filter in the request", function() {

                if (IsFruit == 0) {

                    pm.expect(FruitsYN).to.eql("N")

                }
                if (IsFruit == 1) {
                    pm.expect(FruitsYN).to.eql("Y")
                }

                if (IsFruit =="") {
                    pm.expect(FruitsYN).to.be.oneOf(["Y", "N"]);
                }
            });
        }
    });
});
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-09-23 16:31:49

我修好了。:)。我刚刚添加了一个新的if条件。显然,这个问题是由于空值造成的。所以我像这样处理它,然后在后面的条件检查if (isFruit == "empty") { pm.expect(FruitYN).to.be.oneOf(["Y", "N"]); }中使用它

票数 0
EN

Stack Overflow用户

发布于 2020-09-23 14:38:36

看起来以大写字符开头的变量名在Postman中不起作用。

下面的代码对我来说很有效:

代码语言:javascript
运行
复制
let requestData = {"IsFruit":""};
let isFruit=requestData.IsFruit;// IsFruit can be either 0,1 or empty

if (isFruit =="") {
    console.log("Empty string");
}

而如果我使用IsFruit,它就不能工作了

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64021909

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档