eclipse - TestNG 框架 Eclipe - log().all() 未正确收集 Json 响应
问题描述
对于下面的代码,当我尝试使用log().all()
json 时没有正确打印。
方法 PUT - http://dummy.restapiexample.com/public/api/v1/update/6112
请求 - {"name":"Ronak","salary":"123","age":"26"}
预期反应:
{ "status": "success", "data": { "name": "Ronak", "salary": "123", "age": "26" }, "message": "Successfully! Record has been updated." }
Eclipse 日志中的实际响应:
Response: 200 Content-Length: 81 { "status": "success", **"data": [ ],** <--- **this value is missing here** "message": "Successfully! Record has been updated." } PASSED: testPUT
我的代码:
JRE - JAVA 1.8 [ jdk - AdoptOpenJDK 的 8.0 ]
package restassuredTests; import java.util.HashMap; import org.testng.annotations.BeforeClass; import io.restassured.RestAssured; import org.testng.annotations.Test; import static io.restassured.RestAssured.*; import static org.hamcrest.Matchers.*; public class Demo3_PUT_Request { public static HashMap map1 = new HashMap(); int id = 6112; @BeforeClass public void putData() { map1.put("name","Ronak"); map1.put("salary","123"); map1.put("age","26"); RestAssured.baseURI="http://dummy.restapiexample.com/public/api/v1"; RestAssured.basePath="/update/"+id; } @Test public void testPUT() { given() .contentType("application/json") .body(map1); when() .put() .then() .statusCode(200) .and() .body(containsString("success")) .and() .body(containsString("Successfully! Record has been updated.")) .log().all(); } }
Pom.XML 文件值:
4.0.0
<groupId>RestAssuredAPITesting_BDD_Project</groupId> <artifactId>RestAssuredAPITesting_BDD_Project</artifactId> <version>0.0.1-SNAPSHOT</version> <name>RestAssuredAPITesting_BDD_Project</name> <!-- FIXME change it to the project's website --> <url>http://www.example.com</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>1.7</maven.compiler.source> <maven.compiler.target>1.7</maven.compiler.target> </properties> <dependencies> <dependency> <groupId>org.hamcrest</groupId> <artifactId>hamcrest</artifactId> <version>2.2</version> <scope>test</scope> </dependency> <dependency> <groupId>org.hamcrest</groupId> <artifactId>hamcrest-library</artifactId> <version>2.2</version> <scope>test</scope> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.13</version> <scope>test</scope> </dependency> <!-- https://mvnrepository.com/artifact/io.rest-assured/rest-assured --> <dependency> <groupId>io.rest-assured</groupId> <artifactId>rest-assured</artifactId> <version>4.3.1</version> <scope>test</scope> </dependency> <!-- https://mvnrepository.com/artifact/io.rest-assured/json-schema-validator --> <dependency> <groupId>io.rest-assured</groupId> <artifactId>json-schema-validator</artifactId> <version>4.3.1</version> </dependency> <!-- https://mvnrepository.com/artifact/io.rest-assured/json-path --> <dependency> <groupId>io.rest-assured</groupId> <artifactId>json-path</artifactId> <version>4.3.1</version> </dependency> <!-- https://mvnrepository.com/artifact/io.rest-assured/xml-path --> <dependency> <groupId>io.rest-assured</groupId> <artifactId>xml-path</artifactId> <version>4.3.1</version> </dependency> <!-- https://mvnrepository.com/artifact/org.testng/testng --> <dependency> <groupId>org.testng</groupId> <artifactId>testng</artifactId> <version>7.3.0</version> <scope>test</scope> </dependency> </dependencies>
解决方案
推荐阅读
- http - 为什么浏览器向页面 URL 发出多个请求?
- java - java.util.ArrayList 不能转换为 java.lang.Comparable
- ms-access - Ms Access,如何从另一个表中获取自动值
- android - 如何将 protobuf 对象转换为 ByteArray 并在 Swift 中使用 Base64 URL_SAFE 进行编码?
- flutter - 为单个容器设置两种不同的颜色
- mysql - 如何在 VB.net 中的另一个 MySQLReader while 循环中使用 MySQL 命令
- hibernate - 不将图像保存在数据库中,只想保存 url
- ruby-on-rails - Google App Engine 资产管道标准环境
- php - Nodemcu 不响应 http GET 请求
- pandas - 熊猫用数据框替换问题