使用 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); } }
输出
广告