簡體   English   中英

在 postman 測試中,當輸入參數可以為空時,如何使用多個值之一斷言響應值?

[英]In postman tests, how can i assert the response values with one of multiple values when the input parameter can be empty?

我有一個名為 IsFruit 的輸入參數,它可以是 0 或 1。如果值為 0,則響應應返回 FruitsYN 值為 N 的水果。同樣,如果值為 1,則 FruitsYN 應為 Y。如果此參數沒有值,響應可以有 FruitsYN Y 或 N。這是我寫的代碼,但有些情況下是通過的,而其他情況下是失敗的。 當輸入中的值為空時,我打印了 IsFruit。 看起來像∅

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"]);
                }
            });
        }
    });
});

看起來以大寫字符開頭的變量名稱在 Postman 中不起作用。

下面的代碼對我有用:

let requestData = {"IsFruit":""};
let isFruit=requestData.IsFruit;// IsFruit can be either 0,1 or empty

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

而如果我使用IsFruit

我修好了它。 :). 我剛剛添加了一個新的 if 條件。 顯然這個問題是因為 null 值。 所以我這樣處理它if (isFruit == "") { isFruit = "empty"然后我稍后在條件檢查中使用if (isFruit == "empty") { pm.expect(FruitYN).to.be.oneOf(["Y", "N"]); } if (isFruit == "empty") { pm.expect(FruitYN).to.be.oneOf(["Y", "N"]); }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM