使用 JSONPath 提取值的方法。


我们可以使用 Rest Assured 中的 JsonPath 来提取值。这是借助 jsonPath 方法(即 JsonPath 类的一部分)完成的。然后,我们需要使用 get 方法并传递要从 JSON 响应中获取的键。

我们首先将通过 Postman 向端点发送 GET 请求,并观察 JSON 响应。这里,键是 userId、id、title 和 body。

示例

代码实施

import org.testng.annotations.Test;
import static io.restassured.RestAssured.*;
import io.restassured.RestAssured;
import io.restassured.http.ContentType;
import io.restassured.path.json.JsonPath;
import io.restassured.response.Response;
public class NewTest {
   @Test
   void getValueJsonPath() {

      //base URL
      RestAssured.baseURI = "https://jsonplaceholder.typicode.com";
      RestAssured.basePath = "/posts";

      //obtain a response in JSON
      Response r = given().contentType(ContentType.JSON)

      .log().all().get("/2");
      //JsonPath class
      JsonPath p = r.jsonPath();

      //get JSON fields
      String u = p.getString("userId");
      String i = p.getString("id");
      String t = p.get("title");
      String b = p.get("body");
      System.out.println("User Id: " + u);
      System.out.println("Id: " + i);
      System.out.println("Title: " + t);
      System.out.println("Body: " + b);
   }
}

输出

更新日期:2021 年 11 月 22 日

3k+ 次浏览

开启您的 职业

完成课程获得认证

开始
广告