2016-11-30 3 views
1

私は配列の文字列値を検証できる郵便局でテストを行いますが、返されるインデックスがわかっている場合に限ります。私が実行する問題は、値が返されるインデックスがランダムになることです。Postman Test - 配列内のオブジェクトの文字列値を検証する

これは私が検証しているようなjsonの外観です。

json { "cart": [{ "offeringId": "1234", "offeringName": "Test1", "totalOfferingAmount": -15, "offeringTypeQualifier": "Test", "productTypeQualifier": "Product", "quantity": -1, "messages": [], "autoAdd": false, "autoAction": "removed", "addedByProcessor": true, "qualificationLevel": "FQ", "qualificationDetails": [] }, { "offeringId": "5678", "offeringName": "Test2", "totalOfferingAmount": -15, "offeringTypeQualifier": "Test", "productTypeQualifier": "Product", "quantity": -1, "messages": [], "autoAdd": false, "autoAction": "removed", "addedByProcessor": true, "qualificationLevel": "FQ", "qualificationDetails": [] }], "isCartValidForCheckout": true, "_status": [] }

ここでは私の郵便配達テストは

VARデータ= JSON.parse(responseBody)です。 テスト["offerId"] = data.cart [0] .offeringId === "1234"

+0

あなたはおそらくあなたの意図は、「配列はofferingIdの=== 1234のオブジェクトを持っている」と言うことですと仮定すると、あなたのテストに合格したオブジェクトを見つけるかどうかを確認するために、配列を反復する必要があります。また、スクリーンショットを撮る代わりに、コードを直接コピーして貼り付けてください。 – nvioli

答えて

0

私は配列全体をループし、文字列値が任意のインデックスに含まれているかどうかを確認する必要があります。

var array = JSON.parse(responseBody) 
let testResult = array.find((each)=>{ 
    return each.offeringID === '1234' 
}); 
0

私はあなたが検証が真で一度行う予定何を知らないが、その特定のIDが応答内にあるかどうかを確認するだけであれば、あなたは常にポストマンAに

var size = data.cart.length; 
var flag = false; 
for(var i = 0; i < size; i++) { 
    if(data.cart[i].offeringId === "1234") { 
    flag = true; 
    } 
} 
1

を行うことができます既知の値をテストするための正規表現を使用するとよいでしょう。

cart.forEach(function(x, i) { 
    tests['Test known offeringName ' + cart[i].offeringName ] = true === /^Test1$|^Test2$/.test(cart[i].offeringName); } 
) 
関連する問題