简体   繁体   中英

How can I get the API response in TestNG using Rest Assured to print out line by line?

I created a program to get an API response from a URL.

But for some reason it's printing it out in one long line. Is there any way to print it out the way I see it in postman? I guess what I mean is if there is a way to see the response from the API server printed out line by line instead of one long line.

    ResponseBody body = response.getBody();
    System.out.println("Response Body is: " + body.asString());

The server response is

[RemoteTestNG] detected TestNG version 6.13.1
Status code is 200
Response Body is: 
 {"request_id":"Z36ec5ee76a4788bfe83655edbbe9f0","status":"OK","data":{ONE LONG STRING OF DATA WITH NO END IN SIGHT!} 

You can use prettyPrint method of Response class. Status you will have to print.

(Response to comment) If your API call return JSON responses, you can use a JSON validator module.

What it does is: you provide a JSON schema , and it compares it with the response. The JSON schema syntax is defined over there: http://json-schema.org/latest/json-schema-validation.html (it looks more complex than it actually is) and here are some examples http://json-schema.org/examples.html . You can define, in your schema, if a field is "required" , and also which "type" it should be (string, integer etc.) and many other things!

Here's a simple tutorial that helped me implement it with Rest-Assured: https://blog.jayway.com/2013/12/10/json-schema-validation-with-rest-assured/

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