【问题标题】:Posting FileList in RestAssured在 RestAssured 中发布 FileList
【发布时间】:2021-03-17 12:05:29
【问题描述】:

目前我使用以下代码使用 RestAssured 发布单个文件。

RestAssured.given().contentType(ContentType.MULTIPART_FORM_DATA.toString()).request().multiPart("files", ScreenshotFile).post().then().statusCode(200);

但是我想从下面提到的 FileList 上传多个文件。

File ScreenShotFolder  = new File("C:\\Users\\1451615\\Desktop\\SessionScreenshot\\");
File ScreenShotFiles[] = ScreenShotFolder.listFiles();

【问题讨论】:

  • Solution Link你试过这个链接的解决方案了吗?
  • RequestSpecification request = RestAssured.given().contentType(ContentType.MULTIPART_FORM_DATA.toString()).request(); for (File file: ScreenShotFiles) { request.multiPart("files", new File(file.getAbsolutePath())); } request.post().then().statusCode(200);

标签: java multipartform-data rest-assured


【解决方案1】:
ValidatableResponse createAttachemnetResponse = expect()
                .given()
                .spec(requestSpecification)
                .header("content-type", "multipart/form-data")
                .multiPart("files-0", new File("testImages/1.jpg"))
                .multiPart("files-1", new File("testImages/2.png"))
                .multiPart("files-2", new File("testImages/3.png"))
                .multiPart("files-3", new File("testImages/4.png"))
                .multiPart("files-4", new File("testImages/5.png"))
                .formParams("txn_id", transactionId)
                .when()
                .post(TRANSACTION_BASEPATH + POST_ATTACHMENT)
                .then()
                .spec(responseSpecification);

【讨论】:

    【解决方案2】:

    我已经放置了一个 for 循环来在同一个请求中发布多个文件。请在下面找到相同的代码。

    File ScreenShotFolder = new File("C:\\Users\\1451615\\Desktop\\SessionScreenshot\\");
    File ScreenShotFiles[] = ScreenShotFolder.listFiles();
    RestAssured.baseURI = "http://10.141.188.112:7080/PIMSelfService/testing/uploadResultImg";
    RequestSpecification request = RestAssured.given().contentType(ContentType.MULTIPART_FORM_DATA.toString()).request();
    for (File file: ScreenShotFiles) {
      System.out.println("File name: " + file.getName());
      String FilePath = file.getAbsolutePath();
      File ScreenShotPath = new File(FilePath);
      System.out.println(ScreenShotPath);
      request.multiPart("files", ScreenShotPath);
    }
    request.post().then().statusCode(200);
    

    【讨论】:

      猜你喜欢
      • 2021-09-15
      • 1970-01-01
      • 2021-04-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-28
      • 1970-01-01
      相关资源
      最近更新 更多