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

如何在JMeter中从AMQP请求中提取数据,jmeter,amqp,Jmeter,Amqp,我已经使用AMQP Publisher在RabbitMQ中发布了消息,然后我使用AMQP Consumer作为侦听器。在查看结果树中,队列中的消息显示在AMQP使用者的请求选项卡中。我的问题是如何从该请求中提取数据。我尝试使用BeanShell后处理器,但它似乎只适用于Http请求。我尝试使用JSR223后处理器和XPath提取器,但效果不太好。有什么帮助吗 我想从请求中提取documentId。这是模式 我已经尝试了以下链接: 你在没有共享代码的情况下尝试了一些东西的说法是没有道理的 将JS

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

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

我已经尝试了以下链接:

  • 你在没有共享代码的情况下尝试了一些东西的说法是没有道理的
  • 将JSON数据或代码发布为图像不是最好的主意

  • 有什么理由从请求中提取数据吗?通常情况下,人们知道关于请求的一切,因此不需要从中提取任何内容。即使他们这样做了,他们通常也应该能够将请求数据存储到数据库中,并将相关的数据应用到数据库中

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

  • 添加(如果您确实希望使用后处理器执行此操作)作为请求的子级
  • 将以下代码放入“脚本”区域:

  • 就是这样,您应该能够在需要时以
    ${foo}
    的形式访问提取的值
  • 参考资料:

    vars.put('foo', com.jayway.jsonpath.JsonPath.read(sampler.getArguments().getArgument(0).value,'$..documentId')[0])