6

我正在使用Jmeter2.9 版的HTTP采样器来测试我的休息服务。

GET 和 POST 工作没有任何问题,因为 PUT 没有将请求中的任何参数传递给服务器。

我用树中的视图结果验证了它。

为什么会发生这种情况并解决此问题的任何原因?

4

6 回答 6

4

它对我有用。根据我在互联网上阅读的内容,建议了不同的解决方案:

  • 将内容编码更改为 UTF-8
  • 在“正文数据”选项卡中传递 PUT 参数(而不是在“参数”选项卡中以表格格式传递它们)
  • 在 HTTP 标头管理器中将Content-Type标头设置为application/json
  • 通过文件传递参数(即使这可以工作,你将如何传递动态值?)
  • 结合以上几点将其作为POST传递。

对我有用的是这种组合:将内容类型设置为 application/json +在 **body 数据选项卡中将参数作为“JSON”传递(下面是一个示例)

我不需要指定 UTF-8 或其他任何东西。

示例 JSON 参数正文: {"title":"JMeterTitle","preMortar":"JMeterPre","postMortar":"JMeterPost"}

于 2016-02-18T23:57:39.010 回答
1

使用以下方法在路径字段中传递参数:

?name=value&name2=value2

和原始帖子正文中的正文。如果它不起作用,请报告错误。

例子:

在此处输入图像描述

于 2013-08-10T19:27:55.093 回答
1

I am using JMeter 2.11 and I had the same problem. I solved in this way:

1) Setting Content-Type header similar to that you are using in your api method(Example: application/json or application/x-www-form-urlencoded etc.) in the HTTP Header Manager.

2)In HTTP Request. Body Data should look like this:

KEY=VALUE&KEY=VLAUE&KEY=VLAUE&KEY=VLAUE.......

于 2018-02-13T10:14:00.120 回答
0

首先,尝试查看日志。

有类似的问题。我错误地使用了“内容编码”字段,因为它是 HTTP Content-Type 参数。它们不相关。

如果您需要设置 Content-Type=application/json 您必须使用“HTTP Header Manager”配置元素。

在将内容编码正确设置为 UTF-8 后,put 请求开始工作。

仪表

于 2015-07-16T21:04:12.450 回答
0

我正在使用 JMeter 2.13 并面临类似的问题。这就是我解决它的方法:

  • 在 HTTP 标头管理器中将Content-Type标头设置为text/plain
  • 将内容编码更改为UTF-8
  • 在参数选项卡中,添加不带名称并用 & 字符分隔参数

截图 JMeter PUT 请求示例

希望能帮助到你!

于 2017-08-16T08:38:10.180 回答
0

您应该添加一个名称为空的参数(在“参数”选项卡中)。

如果问题仍然存在,请使用结果树视图来分析请求设置。

于 2015-09-08T10:05:37.110 回答