programing

POSTMAN에 객체가 존재하는지 확인하는 방법

powerit 2023. 3. 14. 21:58
반응형

POSTMAN에 객체가 존재하는지 확인하는 방법

물체의 존재 여부를 테스트하는 방법을 알고 싶습니다.예를 들어 API는 다음 항목을 반환합니다.

"data": [
    {
      "id": 1,
      "name": "Abu Dhabi",
      "locale": "AE",
      "rentWayCountryId": 242,
      "stations": [
        {
          "id": 2,
          "rentWayName": "ABU DHABI AIRPORT",
          "rentWayStationId": "IAEAUH1",
          "bindExtrasToStationToExtraCategory": []
        }
      ]
    },

data.id이 존재하는지 확인하고 싶습니다.

우체부에서 테스트 옵션을 사용하여 다음을 수행했습니다.

var jsonData = JSON.parse(responseBody);
tests["Name value OK"] = jsonData.data.id === "1";

데이터가 존재하는 경우에만 어떤 조건을 사용하여 확인해야 하는지 알려 주시겠습니까?

감사합니다!!

다음은 적절한 우체부 테스트입니다.

const jsonData = pm.response.json();

pm.test('Has data', function() {
  pm.expect(jsonData).to.have.property('data');
});

위의 명령어는 PASS 또는 FAIL 우체국 요구 중 하나입니다.data속성을 지정합니다.

객체가 존재하는지 여부를 확인하는 것은 늘인지 아닌지를 확인하는 것과 같습니다.

if(object){//runs if object is not null}

아이디어 고마워요! 이걸 시도해 봤어요:

var jsonData = JSON.parse(responseBody);
tests["idExist"] = jsonData.data.id !== null ;

그리고 그것은 성공하였다.정말 고마워요.

변수가 설정되어 있는지 확인해야 할 경우 다음 솔루션을 사용합니다.

tests["idExist"] = pm.globals.get('dealerId') !== undefined;
jsonData = pm.response.json();

pm.test("Expected response to be an object", function () {
    pm.expect(jsonData).to.be.an('object');
});

pm.test('Has property inside object', function() {
  pm.expect(jsonData.data[0]).to.have.property('id');
});

pm.test("Expected jsonData[0].stations to be an array", function () {
    pm.expect(jsonData[0].stations).to.be.an('array');
});
pm.test("Expected elements inside jsonData[0].stations to have keys", function () {
    pm.expect(jsonData[0].stations).to.have.keys("id","rentWayName",
          "rentWayStationId",
          "bindExtrasToStationToExtraCategory");
});

언급URL : https://stackoverflow.com/questions/43973926/how-to-check-if-an-object-exist-in-postman

반응형