Forum Discussion

TNeuschwanger's avatar
TNeuschwanger
Icon for Champion Level 3 rankChampion Level 3
7 years ago

Re: How to assert array response

Hello,

 

I would supply a snippet, but i cannot validate the json you presented in your sample...  the json editors I dropped your json into all returned a parse error.  The json sluper in SoapUI could not parse either.  Did you hand code the example or cut and paste directly from API response?  I cannot reproduce with your supplied sample.

 

Regards.

3 Replies

  • henil_shah's avatar
    henil_shah
    Contributor

    Hi Todd,

     

    This is the correct JSON

    [{
    "id": "1234",
    "name": "xyz",
    "jsonfield1": {
    "jsonfield": "xyz"
    }
    }]

    • TNeuschwanger's avatar
      TNeuschwanger
      Icon for Champion Level 3 rankChampion Level 3

      Hello henil_shah,

       

      I think just adding an element number of the array/list to the assertion will work for you.  Groovy script sample below.

       

      Regards

      import groovy.json.*;
      
      def jsonSampletxt = '''
      [{
      "id": "1234",
      "name": "xyz",
      "jsonfield1": {
      "jsonfield": "xyz"
      }
      }]
      ''';
      
      def jsonSampleobj = new JsonSlurper().parseText(jsonSampletxt);
      jsonSampleobj.each { item ->
         log.info 'item=' + item.toString();
      };
      log.info 'jsonSampleobj.size()= ' + jsonSampleobj.size();
      log.info ' ';
      log.info 'jsonSampleobj.id=' + jsonSampleobj.id;
      log.info 'jsonSampleobj.id[0]=' + jsonSampleobj.id[0];
      log.info 'jsonSampleobj.name=' + jsonSampleobj.name;
      log.info 'jsonSampleobj.name[0]=' + jsonSampleobj.name[0];
      
      assert jsonSampleobj.id[0] == '1234', "Element 0 of .id Array/List should be equal to '1234'";
      assert jsonSampleobj.name[0] == 'xyz', "Element 0 of .name Array/List should be equal to 'xyz'";
      
      log.info 'Test Step "' + testRunner.runContext.currentStep.name + '" done...';
      • Olga_T's avatar
        Olga_T
        Icon for Alumni rankAlumni

        Hello everyone, 

         

        TNeuschwanger thanks for the assistance, it is much appreciated!

         

        henil_shah, have you had a chance to try the solution that Todd provided? Does it work for you?

        We are looking forward to hearing from you!