【发布时间】:2024-01-15 01:20:02
【问题描述】:
嘿,我正在为 jmeter 中的 API 测试编写一些 beanshell 脚本。我已经用 beanshell 编写了很多 jmeter 脚本,并且在使用 Integer.parseInt() 方法调用时工作正常,但是我有一个带小数位的值,其中我的 SQL 返回值 20.00000 并且我的 Json 路径提取器得到 20.0 所以我的测试失败比较的时候。由于这个问题,我决定将此值作为双变量而不是字符串进行比较,但是在 BeanShell 上使用 Double.parseDouble 时出现以下错误。
2016/08/17 12:48:45 错误 - jmeter.util.BeanShellInterpreter:调用 bsh 方法时出错:eval 源文件:内联评估:
print("Width Assertion..."); int Total_Printers_SQL = Integer.parseInt(vars.get . . . '':类型变量声明:方法调用 Double.parseDouble2016/08/17 12:48:45 警告 - jmeter.assertions.BeanShellAssertion:org.apache.jorphan.util.JMeterException:调用 bsh 方法时出错:eval 源文件:内联评估:
print("Width Assertion..."); int Total_Printers_SQL = Integer.parseInt(vars.get . . . '':类型变量声明:方法调用 Double.parseDouble
即使显示错误,双变量的值也会打印在 Jmeter 提示符上,如下所示。
如果有人是 beanshell 专家并且可以帮助我识别错误,那就太好了。谢谢!
【问题讨论】:
-
试试
Double.parseDouble(vars.get("Printer_Width_SQL_" + i).toString())...它可能需要“被告知”它是一个字符串。