用于PUT的Jmeter 2.9 HTTP采样器不传递参数

时间:2013-08-10 16:22:16

标签: http parameters jmeter put

我正在使用Jmeter版本2.9,HTTP采样器来测试我的其余服务。

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

我在树中查看了结果。

出现这种情况的原因和解决方法?

6 个答案:

答案 0 :(得分:4)

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

  • 将内容编码更改为UTF-8
  • 将PUT参数传递给"正文数据"选项卡(而不是在"参数"选项卡中以表格格式传递它们)
  • 在HTTP标头管理器中将内容类型标头设置为 application / json
  • 通过文件传递参数(即使这样做有效,你会如何传递动态值?)
  • 将其作为 POST 传递给上述点组合。

我的工作是这种组合:将内容类型设置为application / json + 将参数传递为" JSON"在**正文数据标签中(下面是一个例子)

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

示例JSON PARAMETER BODY: {"标题":" JMeterTitle"" preMortar":" JMeterPre"" postMortar":& #34; JMeterPost"}

答案 1 :(得分:1)

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

  ?

名=值安培; 2 =值2

和Raw Post体内的身体。 如果不起作用则报告错误。

示例:

enter image description here

答案 2 :(得分:0)

首先,尝试查看日志。

有类似的问题。 我错误地使用了“Content-enconding”字段,因为它是HTTP 内容类型参数。他们没有关系。

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

在正确设置内容enconding为UTF-8后,put请求开始起作用。

jmeter

答案 3 :(得分:0)

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

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

答案 4 :(得分:0)

我正在使用JMeter 2.13并遇到类似的问题。这就是我如何解决它:

  • 在HTTP标头管理器中将内容类型标头设置为 text / plain
  • 内容编码更改为 UTF-8
  • 在参数标签中,添加参数不带名称,并用&符号分隔(&

Screenshot JMeter PUT request example

希望它有所帮助!

答案 5 :(得分:0)

我正在使用JMeter 2.11,我遇到了同样的问题。我这样解决了:

1)在HTTP标头管理器中设置类似于您在api方法中使用的Content-Type标头(例如:application/jsonapplication/x-www-form-urlencoded等)。

2)在HTTP请求中。 正文数据应如下所示:

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