2017-09-25 103 views
0

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

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

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

主体数据

------ WebKitFormBoundary $ {随机} 内容处置:形状数据; NAME = “文件上传”;文件名= “C:\ TEMP \ abc.zip” 内容类型:应用/八位字节流

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

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

感谢任何人都可以帮助或提供更好的方式使用PUT方法上传文件。

感谢, AB

+0

如果我删除问题中给出的内容编码,则响应为“{”success“:false,”errorMessages“:”请求不包含附件“}” – user5235510

+0

[将文件上传到其他API ing JMeter](https:// stackoverflow。com/questions/39570205 /上传文件到rest-api-using-jmeter) –

+0

@Kirti - 你建议的链接是POST方法,我的查询是PUT方法。 – user5235510

回答

0

使用MIME类型:application/zip

文件上传的设置应该是这样的JMeter的:

enter image description here

0

我的期望是,你根本就没有将您尝试上传的文件与请求一起传递。如果您手动创建请求,则需要使用__FileToString()函数将文件正文添加到请求中。查看Testing REST API File Uploads in JMeter文章了解更多详情。


还给出您的要求在邮递员的工作,你应该能够使用捕捉到它JMeter的HTTP(S) Test Script Recorder

  1. 副本,你会使用邮差您安装Jmeter
  2. 下的“bin”文件夹中上传文件
  3. 启动JMeter的代理服务器。请参阅JMeter Proxy Step by Step指南了解如何操作。通过传递--proxy-server选项,它
  4. Start Postman using JMeter's HTTP(S) Test Script Recorder as a proxy喜欢:

    C:\Users\your_user_name\AppData\Local\Postman\app-x.x.x\Postman.exe --proxy-server=localhost:8888 
    
  5. 在邮差执行您的要求
  6. JMeter会存储在测试计划下所拍摄的请求 - >线程组 - >录制控制