【问题标题】:JMeter: POST Import Not Working Like In REST ClientJMeter:POST 导入不像 REST 客户端那样工作
【发布时间】:2016-03-14 14:48:15
【问题描述】:

我对 JMeter 还是有点陌生​​,而不是专业的程序员。 (我通常是一名了解 OO 编程并参加过一些编程课程的 BA/QA。)我正在对我们的多租户数据库执行通过 REST 服务调用进行 API 测试。 p>

我正在尝试通过 JMeter 执行 IMPORT 并且遇到了困难。我可以通过 Postman 和 Advanced REST Client 等 REST 客户端成功完成此操作,但是当我尝试在 JMeter 中配置它时,它失败了。

在 Postman 中,配置为:

这是 100% 的成功率,如数据库中所示。

在 JMeter 中,我尝试复制配置如下:

HTTP 标头管理器

HTTP 请求

对于 MIME 类型,我尝试了“application/vnd.ms-excel”、“vnd.openxmlformats-officedocument.spreadsheetml.sheet”和 null - 均未成功。

我尝试以各种组合添加额外的 Header 值,但没有成功:

  • 内容处置:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
  • 内容类型:application/vnd.ms-excel

感谢任何想法、cmets、洞察力、可能的解决方案。

【问题讨论】:

    标签: api rest jmeter


    【解决方案1】:

    当您在 JMeter 和浏览器或其他工具方面存在不一致时,找出差异的最佳方法是使用像 Wireshark 这样的嗅探器捕获来自 JMeter 和浏览器(或其他工具)的请求,检测并解决这些差异。

    关于您的情况,在 JMeter 中:

    1. 删除 HTTP 标头管理器(或至少 Content-Type: multipart/form-data 标头)
    2. 在 HTTP 请求中:

      • 检查 Use multipart/form-data for POST
      • MIME 类型:application/vnd.ms-excel

    有关如何在 JMeter 测试中正确模拟文件操作的详细说明,请参阅 Performance testing: Upload and Download Scenarios with Apache JMeter 文章

    【讨论】:

    • 谢谢。从标头中删除 multipart/form-data 并添加 MIME 类型后,它仍然无法正常工作。我相信问题可能出在包含“Content-Type:json”的“父”HTTP Header Manager(在测试计划级别)和线程组特定的 HTTP Header Manager 之间,其中“Content-Type:application/vnd.ms-擅长。我注意到在日志中没有设置边界。 (例如,Content-Type: multipart/form-data; boundary=P-oTFP1H-Auu7r0eIScXr7Mfg4dq8MgZMp3haR9c)相反,我得到了Content-Type: application/vnd.ms-excel。我会尝试下载 Wireshark。
    • 更新:问题出在“父”标头经理 (Content-Type: application/json) 和“子”标头经理之间。关闭“父”标题经理,导入工作正常。如果我重新打开“父级”,它会失败。是否有一种最佳实践,我不必指定父 Header Mgr 的内容。在每个线程组中避免这种情况?
    • 搞定了。 我不得不在测试计划级别删除 Header Mgr,而是将其复制到测试计划中的每个线程组。因此,我现在拥有 32 次​​i>(每个线程组 1 个),而不是拥有一次 Content-Type: application/json,因此包含导出和导入的线程组可以有单独的 Header Mgrs,不会与任何更高级线程组。 就个人而言,我认为这是不好的做法,但我无法让 JMeter 不会尊重子级别的 Header Mgrs 而不是更高级别的。
    猜你喜欢
    • 2023-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多