如何使用Rest-assured在api中发送表单数据

问题描述 投票:4回答:3

我想在API Body中发送以下作为PUT请求的表单数据:

  1. 使用“Error.png”上传文件(KEY)(VALUE)
  2. 发送文本,“MyName”(KEY)为false(VALUE)

如何使用REST-Assured执行此操作

附件是截图Form-Data Image

java rest api automated-tests rest-assured
3个回答
5
投票

您需要设置所需的内容类型,即“multipart / form-data”,并将多部分请求规范添加到请求中。例如。

        given()
            .contentType("multipart/form-data")
            .multiPart("file", "filename")
            .multiPart("key", "value")
            .when()
            .put(endpoint);

0
投票

如果您正在进行文件上传,请务必包含文件对象。它应该如下所示:

given()
    .contentType("multipart/form-data")
    .multiPart("id", "123")
    .multiPart("file", new File("./src/test/resources/test-file.txt"))
    .post("api/endpoint")
.then()
    ...

0
投票
String body = given().  
                header("Origin", "http://3........80").header("Upgrade-Insecure-Requests", "1").
                header("Referer", "http://........80/").header("Accept-Encoding", "gzip, deflate").
                header("Accept-Language", "en-US,en;q=0.9").
                formParam("message", getFormParamsMap()).

                when().post("http://.....0/process-message").then().statusCode(200).extract().asString();




static Map<String, String> getFormParamsMap() {
        Map<String, String> formParams = new HashMap<>();
        formParams.put("g...me", "us-ma-boston");
        formParams.put("s..score_cold..u", "31");
        return formParams;
    }

Headers n post man

Sending form data from Postman

Form Data sent through Rest assured

Form Data As represented in google

© www.soinside.com 2019 - 2024. All rights reserved.