JMeter:POST导入不像REST客户端那样工作

时间:2016-03-14 14:48:16

标签: api rest jmeter

我仍然对JMeter不熟悉而不是贸易程序员。 (我通常是BA / QA,他们理解OO编程并参加了一些编程课程。)我正在通过REST服务调用对我们的多租户数据库执行 API测试。

我正在尝试通过JMeter执行 IMPORT 并遇到困难。我能够通过像Postman和Advanced REST Client这样的REST客户端成功完成它,但是当我尝试在JMeter中配置它时,它失败了。

在Postman中,配置为:

Postman Import Config

这在100%的时间内都是成功的,如数据库所示。

Postman Import Results

在JMeter 中,我正在尝试按如下方式复制配置:

HTTP标头管理器

JMeter Header Mgr

HTTP请求

JMeter HTTP Request

对于MIME类型,我尝试过“application / vnd.ms-excel”,“vnd.openxmlformats-officedocument.spreadsheetml.sheet”和null - 都没有成功。

我尝试在各种组合中添加额外的标头值但没有成功:

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

任何想法,评论,见解,可能的解决方案,都表示赞赏。

1 个答案:

答案 0 :(得分: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
  3. 有关如何在JMeter测试中正确模拟文件操作的详细说明,请参阅Performance testing: Upload and Download Scenarios with Apache JMeter文章