【问题标题】:How to upload a file using REST API Put method using JMeter如何使用 JMeter 使用 REST API Put 方法上传文件
【发布时间】:2018-03-06 13:40:17
【问题描述】:

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

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

这里是 JMeter 请求详细信息; 方法:放 路径:路径 标题 内容类型=多部分/表单数据;边界=----WebKitFormBoundary${随机}

身体数据

------WebKitFormBoundary${random} 内容处置:表单数据;名称="文件上传";文件名="C:\temp\abc.zip" 内容类型:application/octet-stream

------WebKitFormBoundary${random}--

结果: {"success":false,"errorMessages":"请求不包含附件"} 响应码 = 400

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

谢谢, 乙

【问题讨论】:

  • 如果我删除问题中给出的内容编码,则响应为 "{"success":false,"errorMessages":"Request did not include an attachment"}"
  • @Kirti - 您建议的链接适用于 POST 方法,而我的查询适用于 PUT 方法。
  • 是的,您需要将 Method 字段从 POST 更改为 PUT。但除此之外,这个问题是重复的,除非您提供更多详细信息,或者告诉我们您尝试该方法时什么不起作用。

标签: rest api upload jmeter zip


【解决方案1】:

使用 MIME 类型:application/zip

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

【讨论】:

    【解决方案2】:

    我的期望是您根本不会将尝试上传的文件与请求一起传递。如果您手动构建请求,则需要使用 __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 会将捕获的请求存储在 Test Plan -> Thread Group -> Recording Controller 下

    【讨论】:

      猜你喜欢
      • 2021-12-16
      • 2019-02-05
      • 2018-05-05
      • 2011-12-17
      • 2021-03-08
      • 2019-06-17
      • 2022-01-22
      • 1970-01-01
      • 2011-08-30
      相关资源
      最近更新 更多