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

rest assureddynamic programmingprogramming更新于 2025/4/5 15:22:17

我们可以在 Rest Assured 中处理静态 JSON。这可以通过将整个 JSON 请求存储在外部文件中来实现。首先,文件的内容应转换为字符串。

然后我们应该读取文件内容并将其转换为字节数据类型。一旦整个数据转换为字节,我们最终应该将其转换为字符串。我们将使用外部 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 {

      //从本地 JSON 文件读取数据然后存储在字节数组中
      byte[] b = Files.readAllBytes(Paths.get("payLoad.json"));

      //将字节数组转换为字符串
      String bdy = new String(b);

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

      //输入带有 header 和 body 的详细信息
      given().header("Content-type", "application/json").body(bdy)

      //添加 post 方法
      .when().post("/posts").then().log().all()

      //验证状态代码为 201
      .assertThat().statusCode(201);
   }
}

输出


相关文章