如何在JMeter中从AMQP请求中提取数据

时间:2019-02-12 04:00:37

标签: jmeter amqp

我已经使用AMQP Publisher在RabbitMQ中发布消息,然后使用AMQP Consumer作为侦听器。在“查看结果树”中,来自队列的消息显示在AMQP使用者的“请求”选项卡中。我的问题是如何从该请求中提取数据。我尝试了跟随Bean Shell后处理器,但它似乎仅适用于Http请求。我尝试使用JSR223后处理器和XPath提取器,但效果不佳。有帮助吗?

我想从请求中提取documentId。这是Request模式。

我已经尝试了以下链接: Extracting value from jmeter post request how to extract value from request in Jmeter How to extract the values from request input xml in jmeter

1 个答案:

答案 0 :(得分:0)

  1. 您在没有共享代码的情况下尝试过某些事情的说法是没有道理的
  2. 将JSON数据或代码作为图像发布不是最好的主意

是否有理由从请求中提取数据?通常,人们了解有关该请求的所有信息,因此不需要从中提取任何信息。即使他们这样做,他们通常也应该能够将请求数据存储到JMeter Variable中并对其应用相关的Post-Processor

无论如何,以防万一,这是解决方案:

  1. 添加JSR223 PostProcessor(如果您真的想使用后处理器来完成此操作)作为请求的子项
  2. 将以下代码放入“脚本”区域:

    vars.put('foo', com.jayway.jsonpath.JsonPath.read(sampler.getArguments().getArgument(0).value,'$..documentId')[0])
    
  3. 就是这样,您应该可以在需要时以${foo}的形式访问提取的值。

参考文献:

相关问题