Jmeter:在post请求中一起发送图像和其他参数

时间:2018-01-11 06:10:31

标签: performance automation jmeter

我正在测试api。我需要用api密钥上传图像。我可以单独上传图片,但我不能将图片和API密钥一起发布。

{
  "apikey" : "12345kjl",
  "image" : ""
}

2 个答案:

答案 0 :(得分:1)

这取决于您的服务器实施,在某些情况下您需要发布Base64编码的图片,在这种情况下,您可以使用__FileToString()__base64Encode()功能组合,如:

{
  "apikey" : "12345kjl",
  "image" : "${__base64Encode(${__FileToString(/path/to/the/file,,)},)}"
}

另一种选择是手动构建一个多部分发布请求,如下所示:

--boundary
Content-Type: application/json; charset=UTF-8



JSON Metadata
--boundary
Content-Type: file MIME type



File content
--boundary--

有关实施该文章的分步说明,请参阅Testing REST API File Uploads in JMeter文章。

一般来说,你应该抓住真实的"请求使用FiddlerWireshark之类的嗅探器工具并配置JMeter以发送相同的请求(动态参数除外)

答案 1 :(得分:0)

因为,我能够从邮递员上传图像。我使用jmeter来记录邮递员的脚本形式,并在jmeter脚本中使用精确记录的配置。 我发送" apikey"来自参数部分和来自"文件上传"的图像。 我没有添加标题管理器。 实际上,标题管理器中的内容类型导致了问题。