美文网首页百人计划软件测试精进之路数据蛙数据分析每周作业
问题排查:同样的请求,Jmeter报错失败,Postman却没有

问题排查:同样的请求,Jmeter报错失败,Postman却没有

作者: cynthia猫 | 来源:发表于2019-05-23 14:03 被阅读5次

这是个坑啊~

准备用Jmeter做压力测试,实现把单个接口的相关参数在Postman里面调试通过,然后搬运到Jmeter上面来,先跑一次看是否通过。

诡异的事情出现了:居然不行!

仔仔细细的比对了两个工具里该请求的相关参数:

  • 是Post请求,地址没写错;
  • 请求body是form-data,参数也都一致;


    postman的body配置
jmeter的body配置
  • header所需的所有参数也都一样,并且都按照开发文档的要求填上了Content-Type: multipart/form-data


    postman的header配置
jmeter的header配置

可以说是一模一样了!

由于Jmeter的header是单独用HTTP Header Manager来管理的,因此还特意检查了它的作用域(和HTTP request平级或者是其子级,可以被使用到),也是OK的。

无意中禁用了HTTP Header Manager,然后再请求,居然这次jmeter请求成功了!

由于这个请求的header里面参数较少,只有Content-Type,所以推测是和它有关系。

检查了jmeter中,这次请求成功的request数据,发现有这么一行:Content-Type: multipart/form-data; boundary=wVDFbKOrJUSR6pzaJkPhlIWnwLcdmKHHV9,也就是说,好像自动加上了Content-Type。仔细想想,在body里面是有勾选```Use multipart/form-data``的,所以应该和这项配置有关。

所以这么说,我在header里面再写一遍反而是冗余的?于是尝试把postman里这一项也给删掉,同样也能请求成功。

那么加上它,request数据会有什么不同吗?检查后发现有这么一行:Content-Type: multipart/form-data和上面的相比缺少了boundary。虽然不知道为什么这一点点区别就会导致jmeter请求失败,总算是把问题给解决了。

个人猜测,可能不同工具对待冗余参数的处理方式不同,所以postman是可以兼容的,而jmeter不行。

相关文章

网友评论

    本文标题:问题排查:同样的请求,Jmeter报错失败,Postman却没有

    本文链接:https://www.haomeiwen.com/subject/iilyzqtx.html