【问题标题】:JMeter http request DELETE with bodyJMeter http请求DELETE与正文
【发布时间】:2018-01-26 09:35:13
【问题描述】:

我有专有的基于 http 的 API 可以从 JMeter 进行测试。不幸的是,API 的一些端点期望带有请求正文的 http DELETE 方法(我知道它的questionable API design to use DELETE with request body,但我无法更改该 API 并且需要对其进行测试)。

如何从 JMeter 测试它?似乎标准的 HttpRequest 采样器会默默地忽略我的身体有效负载而没有任何警告。 (当我在POSTMAN 中尝试它时,它会发送 DELETE 方法的请求正文)

我确实找到了一个名为 HTTP Raw Request 的旧 JMeter 插件,它有些帮助,但仍然不能为我的正文有效负载自动计算“Content-Length:”http 标头...所以我必须为每次测试手动执行此操作case - 这对于动态生成的数据负载来说是一个痛苦。

所以我的问题仍然存在:如何使用来自 JMeter 的请求正文测试 HTTP DELETE?

截图如下:

注意 1: 从 jMeter 版本开始。 3.1(见bugzilla #60358)已修复Http GET请求能够在请求中发送正文...但未添加DELETE。

注意 2: 请参阅 bugzilla #61443 以获取带有正文的 DELETE 请求。

NOTE3:我正在使用名为“Java”的客户端实现。

【问题讨论】:

  • 你能展示一下你是如何配置http请求的吗?请显示所有标签。谢谢

标签: http testing jmeter automated-tests jmeter-plugins


【解决方案1】:

根据参考文档:

http 请求采样器有 2 种实现。名为“Java”的非默认有此问题,即不传递 DELETE 请求正文。 幸运的是,名为“HttpClient4”的 default 实现可以根据 JMeter 数据输入屏幕正确传递 DELETE 操作的请求负载。 要更改 http 请求采样器的实现,您必须转到 HTTP 请求采样器的“高级”选项卡并选择客户端实现“HttpClient4”而不是“Java”。这是屏幕截图:

在执行之后,它会正确发送请求有效负载以进行 DELETE 操作。这是屏幕截图:

【讨论】:

  • 让我根据您的评论更新我的问题!感谢您的提醒!
  • 我更新了您的答案,使其完整且正确。您现在应该接受它,以便用户可以信任它。谢谢
猜你喜欢
  • 1970-01-01
  • 2014-08-08
  • 2022-01-27
  • 1970-01-01
  • 2016-01-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多