JMeter:如何使用PATCH方法发送参数?

时间:2015-09-01 02:18:04

标签: jmeter http-put http-patch

我的JMeter版本是2.13的最新版本。我想添加一个HTTP请求来测试我的API,该方法是PATCH或PUT。

在Postman中,我可以测试API并使用PATCH方法成功使用一些URL参数。

例如:

URL: https://example.com/user/account
URL parameters: email ----> example@example.com
URL parameters: password ----> 12345678
Method: PATCH

这适用于Postman / Paw但是在JMeter中我设置了一个HTTP请求,添加了参数,但它失败了。

如何使用JMeter中的参数设置工作PATCH / PUT请求?

5 个答案:

答案 0 :(得分:3)

我通过将参数添加到HTTP请求来解决了临时解决方案的问题:

  

https://example.com/user/account?email=example%40example.com&password=12345678

然后删除HTTP请求中的参数。 它现在有效。

我希望我能找到解决这个问题的正式解决方案。

答案 1 :(得分:2)

似乎JMeter(至少从版本2.13 r1665067开始)不支持使用"参数"来传递PATCH请求的参数。表

但是,您仍然可以使用以下变通方法传递参数:

  • 如果您想在查询字符串中使用参数(GET - ),您只需将它们附加到路径:/foo/bar?param1=2&param2=21
  • 如果你想让你的参数在体内(POST - 像),你可以切换到"身体数据" " HTTP请求"中的选项卡部分并提供您的编码参数,如下所示:param1=2&param2=21。请务必对所有参数进行正确的URL编码。此外,您必须在" HTTP标头管理器"中添加一行来请求标头。部分。添加标头Content-Type,其值为application/x-www-form-urlencoded

答案 2 :(得分:1)

只是为了完成/改进@Lukas答案,如果要从CSV文件导入测试参数,则需要按照以下方式格式化HTTP请求路径:

/foo/bar?param1=${csv_param1_name}&param2=${csv_param2_name}

之所以需要这样做,是因为至少对于PATCH请求,参数表将被忽略。

这也适用于JMeter v4.0 r1823414。

答案 3 :(得分:0)

Jmeter使用正文数据填充您的数据,但不需要标题,您可以将数据传递给后端。 enter image description here

但我使用httpServletRequest来获取参数,它是空的,我不知道为什么......

答案 4 :(得分:0)

如果您不必通过URL传递参数,则还可以使用JMeter的“ HTTP请求”采样器的“正文数据”选项卡。它还支持占位符。 JMeter Patch Example

PS:我使用的是JMeter 5.1.1版