Можем ли мы использовать io.restassured и jayway в одном методе?
Когда я получаю массивы в ответ, получение правильных результатов с помощью Jayway, но не с io.restassured? Могу ли я использовать Jayway и io.restassured вместе? Это приемлемая / хорошая практика?
Ответ JSON:
{"applications": [
{
"Id": "123",
"amount": "1500"
},
{
"Id": "456",
"amount": "2500"
},
{
"Id": "780",
"amount": "3500"
}
]}
Ищу сумму 2500 как мой результат! Пробовал ниже:
//1-й подход для чтения тела json формы ответаJsonPath jsonPath = res.jsonPath(); System.out.println(jsonPath.get("$.applications[1].amount"));
// результаты нулевые, используя io.restassured JsonPath
// 2-й подход для чтения тела json формы ответаJsonPath jsonPath1 = JsonPath.from(res.asString()); System.out.println(jsonPath1.getString("$.applications[1].amount"));
// результаты нулевые, используя io.restassured JsonPath
// 3-й подход для чтения тела json формы ответаSystem.err.println(JsonPath.read(res.asString(),"$.login"));
// результаты 2500, используя jaywayJsonPath
1 ответ
Есть несколько способов извлечения значений
// Method 1
String res = given().when().get("http://soapractice1.mocklab.io/thing/test").then().extract().asString();
JsonPath js = new JsonPath(res);
System.out.println("The amount is : " + js.get("applications[1].amount"));
// Method 2
Response resp = given().when().get("http://soapractice1.mocklab.io/thing/test").then().extract().response();
JsonPath js1 = resp.jsonPath();
System.out.println("The amount is : " + js.get("applications[1].amount"));
// Method 3
String amount = given().when().get("http://soapractice1.mocklab.io/thing/test").then().extract().jsonPath().get("applications[1].amount");
System.out.println("The amount is : " + amount);