web-dev-qa-db-ja.com

Postman:Postmanオートメーションでフィールドがnullを返すかどうかを確認する方法

「!== null」で試しましたが、フィールドが0または「」を返している場合でも、PASSを返します。

10
Tester77

試しましたか

pm.expect(response.your_field).to.eql(null);

10
Old Panda

これは2019年3月の時点で機能します。

pm.test("To Check if Value is Null", function() {
var jsonData = pm.response.json();
pm.expect(jsonData.<yourfield>).not.eq(undefined);
)};
8
Shiraz

リストで返された最初のアイテムのIDを確認する場合は、not.equal(null)を使用できます。

pm.expect(pm.response.json().value[0].Id).not.equal(null);

「equl」という単語は完全にスペルアウトされていますが、「eql」は機能します。

7
myrtle303

これを試してください:

pm.test("your-value is not null", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.your_value).not.eql(null);
});
1
cleo

私は同様の問題に直面しました。しかし、次の方法でそれをチェックすることは私にとってうまくいきました

tests["Item is not null"] = 
    jsonData.item !== undefined;
1
Ashish Bhatt

Postmanは存在しないパスをnullとして参照せず、未定義として参照します。

pm.expect(JsonResponse.FAKE.PATH).not.eql(undefined);

この偽のjsonパスは実際には定義されていないため、このテストは失敗するはずです。

0
Mario

私は同様に行いました、これはコードの一部であり、うまく機能していますこのコードを確認してください

var jsonData = JSON.parse(responseBody);

for(i=0; i<jsonData.data.length; i++){
tests["due date is between given date range"] = jsonData.data[i].duedate < environment.Cenddate && jsonData.data[i].duedate > environment.Cstartdate;

tests["response body has department name"] = jsonData.data[i].department.name !== null;

}
0
Acid

どうですか:

var jsonData = JSON.parse(responseBody);

tests["Item is not null"] = 
    jsonData.item !== null && 
    jsonData.item !== ' ' && 
    jsonData.item !== 0;
0
John Meyer

次のような応答jsonにアクセスできます。

    var json = JSON.parse(responseBody);
    var yourVAr = json.yourVar
    if(yourVar == null){
        //your var is null here
    }
0
Nitin Vavdiya

+ [i]をテストで検証する関数の後に配置する必要があるため、各配列で有効なステートメントのみが返されます。例えば、

function checkIsNull() {
    var items = json.data.pois.items
    var PlaceIdIsNull = true;
    var subTypeExtraIsNull = true;
    var websiteIsNull = true;

    for (var i = 0; i < items.length; i++) {
    if (items[i].placeId !== null) {
        PlaceIdIsNull = false;
    }
    if (items[i].subTypeExtra !== null) {
        subTypeExtraIsNull = false;
    }
    if (items[i].website === null) {
        websiteIsNull = false;
        tests['website is null only happened on these arrays' + [i]] = true;
        }
        tests['Place ID is null '] = PlaceIdIsNull
        tests['subTypeExtra is null '] = subTypeExtraIsNull
}
}
       checkIsNull();

結果:


PASSプレイスIDがnullです

PASS subTypeExtraがnullです

0
Wayne Yeow