从夏日报告中排除JSR 223样本

时间:2017-08-24 14:30:09

标签: jmeter

我有几个JSR 223采样器,其中包含Thread组内的脚本 在调用HTTP请求之前进行一些工作。

问题是JSR 233采样器包含在最终摘要报告中 我的问题是如何从最终计算中排除那些JSR 223采样器?

更新

当我尝试设置预处理器JSR 223时 我在预处理器JSR 223之后将此错误视为if控制器 无法识别我在vars.put中设置的变量。它只在我使用JSR 223采样器时识别它。

2017/08/24 16:07:37 ERROR - jmeter.control.IfController: If Controller: error while processing [${my_foo_var} >=0]
 org.mozilla.javascript.EvaluatorException: missing ; before statement (<cmd>#1)
    at org.mozilla.javascript.DefaultErrorReporter.runtimeError(DefaultErrorReporter.java:77)
    at org.mozilla.javascript.DefaultErrorReporter.error(DefaultErrorReporter.java:64)
    at org.mozilla.javascript.Parser.addError(Parser.java:188)
    at org.mozilla.javascript.Parser.addError(Parser.java:166)
    at org.mozilla.javascript.Parser.reportError(Parser.java:256)
    at org.mozilla.javascript.Parser.reportError(Parser.java:243)
    at org.mozilla.javascript.Parser.reportError(Parser.java:236)
    at org.mozilla.javascript.Parser.autoInsertSemicolon(Parser.java:1100)
    at org.mozilla.javascript.Parser.statementHelper(Parser.java:1077)
    at org.mozilla.javascript.Parser.statement(Parser.java:934)
    at org.mozilla.javascript.Parser.parse(Parser.java:573)
    at org.mozilla.javascript.Parser.parse(Parser.java:511)
    at org.mozilla.javascript.Context.compileImpl(Context.java:2488)
    at org.mozilla.javascript.Context.compileString(Context.java:1476)
    at org.mozilla.javascript.Context.compileString(Context.java:1465)
    at org.mozilla.javascript.Context.evaluateString(Context.java:1216)
    at org.apache.jmeter.control.IfController$RhinoJsEngine.evaluate(IfController.java:105)
    at org.apache.jmeter.control.IfController.evaluateCondition(IfController.java:187)
    at org.apache.jmeter.control.IfController.next(IfController.java:240)
    at org.apache.jmeter.control.GenericController.nextIsAController(GenericController.java:222)
    at org.apache.jmeter.control.GenericController.next(GenericController.java:176)
    at org.apache.jmeter.control.LoopController.next(LoopController.java:123)
    at org.apache.jmeter.threads.AbstractThreadGroup.next(AbstractThreadGroup.java:87)
    at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:247)
    at java.lang.Thread.run(Unknown Source)

3 个答案:

答案 0 :(得分:3)

您可以使用“ prev.setIgnore();”告诉Jmeter监听器忽略先前的SampleResult。 在JSR223后处理器中。

您可以将其用于所有采样器。该解决方案适用于JMeter 4和5

Groovy Post Processor example

答案 1 :(得分:1)

您可以使用Filter Results Tool从最终报告中删除不需要的样本,它具有--exclude-label-regex参数,您可以在其中提供采样器名称模式。

您可以安装过滤结果工具(以及任何其他插件)并使用JMeter插件管理器使其保持最新

[JMeter Filter Results Tool[2]

假设安装成功,您应该能够在JMeter安装的“bin”文件夹下找到FilterResults.batFilterResults.sh工具启动脚本。

答案 2 :(得分:0)

包含所有采样器,因此您可以将代码移至JSR 223 Post / Pre Processor,并将其放在层次结构中的不同现有采样器下。

这样,代码就不会在报告中计算出来。