【问题标题】:How do I get all four keyValue pairs using RestAssured for CreateUser Post request如何使用 RestAssured 获取所有四个键值对来创建用户发布请求
【发布时间】:2020-10-25 13:07:07
【问题描述】:

使用 RestAssured 的响应不包括所有四个键值对,它在 Postman 中工作正常并返回所有四个值。

  • 右下角是我的帖子 CREATE USER 查询 https://reqres.in/ 的响应 左上角我试图编写一个使用 RestAssured 运行相同查询的代码
  • 左下角显示日志。

UserTests Class
// Create user request number 7 (post request)
    System.out.println("test_get_single_user_by_ID_returns_http_404() - User Story 7  CREATE");
    
    Response createUser = (Response) given().queryParam("Content-Type", "application/json")
    .body(au)
    .when().log().all().post("/api/users")
    .then().log().all().assertThat().statusCode(201).extract().response();
    
    
    String createUserResponse = createUser.asString();
    
    System.out.println(createUserResponse);
    JsonPath js = ReUseableMethods.rawToJson(createUserResponse);
    System.out.println(au.getCreatedAt());
    au.getJob();
    System.out.println(js);

控制台响应:

{"id":"117","createdAt":"2020-07-05T11:17:26.597Z"}

required response
{
    "name": "RAK",
    "job": "Automation testing",
    "id": "683",
    "createdAt": "2020-06-26T07:36:28.264Z"
}

【问题讨论】:

    标签: java post postman pojo createuser


    【解决方案1】:

    问题在于您的内容类型设置。内容类型必须作为标头而不是作为 queryParam 传递。

    这将返回完整的对象:

      Response createUser = (Response) given().header("Content-Type", "application/json")
                    .body(au)
                    .when().log().all().post("https://reqres.in/api/users")
                    .then().log().all().assertThat().statusCode(201).extract().response();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-10-16
      • 1970-01-01
      • 1970-01-01
      • 2020-04-26
      • 1970-01-01
      • 1970-01-01
      • 2021-12-25
      相关资源
      最近更新 更多