gpt4 book ai didi

java - 如何从 REstAssured 中的 Json 数组中获取 JSON 对象

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:54:05 25 4
gpt4 key购买 nike

谁能帮我解决这个问题:

我不熟悉 RestAssured 并在我们的自动化脚本中处理 JSON。我有一个 API,它的响应是 JSONArray 即,

  [{
"id": 1002,
"entity": "testcase",
"fieldName": "TextName",
"displayName": "Name"
}, {
"id": 1003,
"entity": "testcase",
"fieldName": "steps",
"displayName": "TestSteps"
}]

在自动化过程中,为了验证我需要获取响应。我已经尝试了下面的但没有得到预期的输出

 String API = "/field/entity/testcase"
Response response = given().auth().preemptive().basic("test.manager", "test.manager").when().get(API);
JSONObject JSONResponseBody = new JSONObject(response.body().asString());
Assert.assertEquals(JSONResponseBody.getString("fieldName"), "TextName");

我也试过这个:

    JSONArray array = new JSONArray();
JsonObject JSONResponseBody = array.getJsonObject(0);

提前致谢

最佳答案

这些类型的验证可以直接使用 restAssured - ValidatableResponseOptions 本身来实现

    String API = "/field/entity/testcase"
given().auth().preemptive().basic("test.manager", "test.manager").
when().get(API).
then().assertThat().body("fieldName[0]", equalTo("TextName");

注意-“等于”验证需要在静态导入之后

import static org.hamcrest.Matchers.equalTo;

关于java - 如何从 REstAssured 中的 Json 数组中获取 JSON 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35263637/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com