Можем ли мы использовать 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);
Другие вопросы по тегам