简体   繁体   中英

rest assured check the name is exist in the json response

Am new to rest assured.Using rest assured am trying to verify data detail is found or not.Here two data details present.Some times it will be 2 or 3 or 5 Am getting response as follows and using java

{
  "queryPath": "/api/",
  "nId": "f084f5ad24fcfaa9e9faea0",
  "statusCode": 707
  "statusMessage": "Success",
  "results": {
    "data": [
      {
        "id": "10248522500798",
        "capabilities": [
          "record",
          "HDt"
        ],
        "name": "errt2"
      },
      {
        "id": "418143778",
        "capabilities": [
          "1record",
          "HDy"
        ],
        "name": "Livin"
      }
    ]
  }
}

code using

JsonPath jsonResponse = new JsonPath(response.asString());
ArrayList<String> list = new ArrayList<String>();
list = jsonResponse.get("results.data"); // 

if (list.size() < 1 ) {
    SpiceCheck.fail("data not found! " + list.size());
}

Rather than this i wwant to check the data name is null or not also.How can i do that rest assured.

Just so you know you are missing a comma after 707.

To verify that none of the names is null I would parse out the names as a list, then iterate over the names one by one and check that they aren't null.

List<String> names = from(response.asString()).getList("results.data.name");
for(String name : names){
  if(name == null){
     // error handling code here
  }
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM