如何使用 Rest Assured 逐行打印出 TestNG 中的 API 响应?
How can I get the API response in TestNG using Rest Assured to print out line by line?
我创建了一个程序来从 URL 获得 API 响应。
但由于某种原因,它在一长行中打印出来。有什么办法可以按照我在邮递员中看到的方式打印出来吗?我想我的意思是,如果有一种方法可以查看来自 API 服务器的响应,而不是一行一行地打印出来。
ResponseBody body = response.getBody();
System.out.println("Response Body is: " + body.asString());
服务器响应是
[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!}
您可以使用 Response class 的 prettyPrint 方法。您必须打印的状态。
(回复评论)
如果您的 API 调用 return JSON 响应,您可以使用 JSON 验证器模块。
它的作用是:您提供一个 JSON 架构 ,并将其与响应进行比较。 JSON 模式语法在此处定义: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。您可以在您的架构中定义一个字段是否为 "required"
,以及它应该是哪个 "type"
(字符串、整数等)以及许多其他内容!
这是帮助我使用 Rest-Assured 实现它的简单教程:https://blog.jayway.com/2013/12/10/json-schema-validation-with-rest-assured/
我创建了一个程序来从 URL 获得 API 响应。
但由于某种原因,它在一长行中打印出来。有什么办法可以按照我在邮递员中看到的方式打印出来吗?我想我的意思是,如果有一种方法可以查看来自 API 服务器的响应,而不是一行一行地打印出来。
ResponseBody body = response.getBody();
System.out.println("Response Body is: " + body.asString());
服务器响应是
[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!}
您可以使用 Response class 的 prettyPrint 方法。您必须打印的状态。
(回复评论) 如果您的 API 调用 return JSON 响应,您可以使用 JSON 验证器模块。
它的作用是:您提供一个 JSON 架构 ,并将其与响应进行比较。 JSON 模式语法在此处定义: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。您可以在您的架构中定义一个字段是否为 "required"
,以及它应该是哪个 "type"
(字符串、整数等)以及许多其他内容!
这是帮助我使用 Rest-Assured 实现它的简单教程:https://blog.jayway.com/2013/12/10/json-schema-validation-with-rest-assured/