需要最多两位小数的结果,即 jmeter 中的秒和毫秒

问题描述

我想在电子邮件正文中添加我的摘要报告结果。所以我根据我的要求添加了 bean shell 后处理器,并在其中添加了以下功能

*<BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="BeanShell PostProcessor" enabled="true">
            <boolProp name="resetInterpreter">false</boolProp>
            <stringProp name="parameters"></stringProp>
            <stringProp name="filename"></stringProp>
            <stringProp name="script">float duration = prev.getTime()/1000;
                 
props.put(&quot;getDTS_response&quot;,String.valueOf(duration));</stringProp>
          </BeanShellPostProcessor>*

邮件正文中使用的函数

*&quot;Request 1 Reponse    ${__property(getDTS_response,0)} Seconds&quot;*

现在当我在邮件正文中收到结果时,这些结果如下所示。

针对请求 #1 的摘要报告结果:8563

针对邮件正文中请求 1 的结果:8.0 秒

针对请求 #2 的摘要报告结果:354

邮件正文中针对请求 1 的结果:0.0 秒

我希望我的结果如下:

针对邮件正文中请求 1 的结果:8.563 秒

邮件正文中针对请求 2 的结果:0.354 秒

请指导解决问题。

感谢和问候

解决方法

Since JMeter 3.1 you should be using JSR223 Test Elements and Groovy language 用于编写脚本,因此我将提供 Groovy 解决方案:

(prev.getTime() / 1000).round(3)

演示:

enter image description here

更多信息:

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...