JMeter不将二进制文件的内容附加到HTTP请求中的POST数据

时间:2014-08-20 01:01:37

标签: jmeter load-testing

我正在尝试使用JMeter 2.11模拟使用二进制格式的服务的登录调用。除了正文数据外,我已经使用适当的设置创建了一个Http请求。我需要POST原始二进制数据。

根据文档here,我应该能够为一个文件设置文件路径,没有参数名称,而且Body Data中没有其他内容,并让它将数据放在请求中体。

  

如果是POST或PUT或PATCH请求,并且只有一个文件的“参数名称”属性(如下)被省略,则该文件将作为请求的整个主体发送,即不添加包装器。这允许发送任意实体。此功能适用于版本2.2之后的POST请求,也适用于版本2.3之后的PUT请求。

但是,当我运行测试时,POST数据为空。

我已经为JMeter尝试了额外的插件集,但是唉,我被卡住了。加载的文件有145个字节的数据,请求显示内容长度为0. 我缺少什么?

Http请求 enter image description here

结果

enter image description here

更新1

为了澄清,我没有尝试发送文件,我试图将二进制编码的消息作为原始POST数据发送。

2 个答案:

答案 0 :(得分:2)

切换回“参数”选项卡而不是“发布正文”。

请参阅:

Yoy可以尝试记录以查看resuest的样子。

答案 1 :(得分:1)

  • 这是我的解决方案,也许不是最好的,但它运作良好:

第一步:

  • 您应该将二进制数据写入文件(假设它的名称是 FILENAME);

第二步:

  • 对于您的http请求采样器,Yout应将$ {FILENAME}置于文件下 “使用请求发送文件”部分中的路径(同时保留其中的路径) 参数名称为空并指定编码(对于二进制,它是 应用/二进制))。

希望它有所帮助。 请参阅this article