如何从beanshell预处理器 - JMeter获取Sampler Body数据

时间:2017-06-05 14:19:12

标签: jmeter load-testing beanshell

我有Http Sampler主体如下, { “UNAME”: “管理员”, “签名”: “$ {注册}”, “LoginTime”: “$ {LOGTIME}”, “行动”: “Do_Action”}

我必须从上面的主体中获取“Action”的值,并且该值必须发送到预处理器,这对于进行进一步操作非常有用。

帮助我摆脱这个...... !!

谢谢!

1 个答案:

答案 0 :(得分:0)

我建议切换为JSR223 PreProcessorGroovy语言:

  1. Groovy有built-in JSON support
  2. Groovy执行much better than Beanshell
  3. 示例Groovy代码,用于从请求正文中提取“Action”并将其存储到${action} JMeter变量中,如下所示:

    def body = new groovy.json.JsonSlurper().parseText(sampler.getArguments().getArgument(0).getValue())
    vars.put('action', body.Action)
    

    有关详细信息,请参阅Groovy is the New Black文章。