使用jmeter仅提取json响应的一部分并将其在beanshell后处理器中使用

时间:2018-07-31 05:09:46

标签: json jmeter response beanshell

通过jmeter线程检查CPU使用率时,我得到的响应低于要求,

  

“响应”:“%Cpu(s):93.9 us,6.1 sy,0.0 ni,0.0 id,0.0 wa,0.0 hi,   0.0 si,0.0 st \ n“,” exitValue“:0}

在我的情况下,我只想从响应中过滤出us值,并且需要验证它是否超出特定限制(例如us value> 70)

有人可以在jmeter中为我建议一个方法,通过该方法我可以将us值存储在变量中,并在bean shell后处理器中使用该值?

1 个答案:

答案 0 :(得分:0)

如果您需要获取此93.9值,可以使用Regular Expression Extractor完成。相关的正则表达式将类似于:

%Cpu\(s\): (.+?) us

演示:

JMeter Regular Expression Extractor View Results Tree

整个正则表达式提取器的配置类似于:

JMeter Regular Expression


提取值后,您将可以按以下方式访问它:

double cpu = Double.parseDouble(vars.get("cpu"));

请注意,using Beanshell for scripting is a some form of a performance anti-pattern可以考虑改用JSR223 PostProcessorGroovy语言。