如何使用REST API Put方法使用JMeter

时间:2017-09-25 14:28:51

标签: rest api upload jmeter zip

我的查询的上下文: 需要测试REST API Put方法来上传文件 要使用的工具是JMeter。

我可以使用POSTMAN工具成功执行上述操作,但它无法在JMeter中工作。

以下是JMeter请求详细信息; 方法:PUT 路径:路径 HEADER Content-Type = multipart / form-data;边界= ---- WebKitFormBoundary $ {随机}

身体数据

------ WebKitFormBoundary $ {随机} 内容处理:表格数据; NAME = “文件上传”;文件名= “C:\ TEMP \ abc.zip” Content-Type:application / octet-stream

------ WebKitFormBoundary $ {随机} -

结果: {“success”:false,“errorMessages”:“请求未包含附件”} 响应代码= 400

感谢是否有人可以提供帮助或提供更好的方法来使用PUT方法上传文件。

谢谢, AB

2 个答案:

答案 0 :(得分:0)

使用MIME类型:application/zip

您的文件上传设置在JMeter中应如下所示:

enter image description here

答案 1 :(得分:0)

我的期望是您只是不传递您尝试上传的文件以及请求。如果您手动构建请求,则需要使用__FileToString()函数将文件正文添加到请求中。查看Testing REST API File Uploads in JMeter文章了解更多详情。

另外,如果您的请求适用于Postman,您应该能够使用JMeter的HTTP(S) Test Script Recorder

捕获它
  1. 使用Postman将要上传的文件复制到JMeter安装的“bin”文件夹
  2. 启动JMeter的代理服务器。请参阅JMeter Proxy Step by Step指南,了解如何操作。
  3. Start Postman using JMeter's HTTP(S) Test Script Recorder as a proxy--proxy-server选项传递给它,如:

    C:\Users\your_user_name\AppData\Local\Postman\app-x.x.x\Postman.exe --proxy-server=localhost:8888 
    
  4. 在Postman中执行您的请求
  5. JMeter会将捕获的请求存储在测试计划下 - >线程组 - >录制控制器