如何在 Rest Assured 中处理静态 JSON?


我们可以在 Rest Assured 中处理静态 JSON。这可以通过将整个 JSON 请求存储于外部文件中来完成。首先,该文件的全部内容应当转换为 String。

然后,我们应当读取文件内容,并将其转换为 Byte 数据类型。一旦全部数据转换为 Byte,我们最终应当将其转换为字符串。我们将使用一个外部 JSON 文件作为执行 POST 请求的有效负载。

让我们创建一个 JSON 文件,叫作 payLoad.json,并在下方 JSON 格式中添加一个请求主体。这是在项目内创建的。

{
   "title": "API Automation Testing",
   "body": "Rest Assured",
   "userId": "100"
}

示例

代码实现

import org.testng.annotations.Test;
import static io.restassured.RestAssured.*;
import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import io.restassured.RestAssured;
public class NewTest {
   @Test
   void readJSONfile() throws IOException {

      //read data from local JSON file then store in byte array
      byte[] b = Files.readAllBytes(Paths.get("payLoad.json"));

      //convert byte array to string
      String bdy = new String(b);

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

      //input details with header and body
      given().header("Content-type", "application/json").body(bdy)

      //adding post method
      .when().post("/posts").then().log().all()

      //verify status code as 201
      .assertThat().statusCode(201);
   }
}

输出

更新日期:2021 年 11 月 17 日

5 千+ 次阅读

开启您的 职业 生涯

通过完成课程取得证书

开始
广告