[英]How to upload a file in restassured with java
我们有一个API,它从系统中提取文件并显示在应用程序上,为此,我正尝试使用放心的Java和Java来实现自动化
我已经尝试过,将图像更改为二进制代码,然后将其添加为不起作用的参数。
Map<String, String> paramSample = new HashMap<>();
paramSample.put("api_key", "A813302*************");
paramSample.put("method", "my");
paramSample.put("body", "{\n" +
" \"to\":\"91xxxxxxxx\",\n" +
" \"type\": \"image\", \"image\" : {\"caption\" : \"{{caption}}\"},\n" +
"\"callback\":\"{{callback}}\"\n" +
"}");
paramSample.put("from", "91xxxxxxx");
paramSample.put("file","C:\\Users\\sobhit.s\\Pictures\\SMS-2047.png");
RequestSpecification request = given();
Response responseSample = request.params(paramSample).get(ExecutionConfig.BASE_URL).then().extract().response();
String res=responseSample.prettyPrint();
回应是-
{
"status": "xxxx",
"message": "Invalid file format. Upload valid file."
}
首先,如果不确定,请在Postman中执行此操作,然后在代码中重新创建相同的内容。 这样,您将有一个邮递员来演示您的编码问题。
.queryParam()
仅用于参数,而不用于主体内容。 .body()
内容应位于.body()
使用.multiPart()
将文件作为多部分任务上传。 希望这可以帮助。
given().queryParam(
"api_key", "A813302*************",
"method", "my",
"from", "91xxxxxxx")
.body("{\n" +
" \"to\":\"91xxxxxxxx\",\n" +
" \"type\": \"image\", \"image\" : {\"caption\" : \"{{caption}}\"},\n" +
"\"callback\":\"{{callback}}\"\n" +
"}")
.multiPart(new File("C:/Users/sobhit.s/Pictures/SMS-2047.png"))
.when()
.get(ExecutionConfig.BASE_URL)
.prettyPrint();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.