在 JMeter 中使用 JMeterUtils.getProperty 与 __P 的优缺点是什么?
What are the pros and cons of using JMeterUtils.getProperty vs. __P in JMeter?
我正在研究一些使用 BeanShell 断言的 JMeter 测试计划。在这些断言中,我想访问一些用户属性。有几种方法可以访问它们:
JMeterUtils.getProperty("propertyName")
${__P(propertyName)
props.get("propertyName")
不同之处在哪里,每个选项的优缺点是什么?它们是相互包装还是具有特定功能?
谢谢!
在功能上它们完全相同。它们甚至以相同的方式实现 - 它们都在当前 jmeter 属性对象上调用 getProperty()
方法。
区别在于你在哪里使用它们。
将变量放入 JMeter GUI 文本框时使用 ${}
符号。例如,在 HTTP 采样器的字段中。请注意 __P
是 shorthand 的,并且与 __Property
完全相同
props.get()
用于 beanshell 脚本,无需显式导入 JMeterUtils
。你也可以结合 1&2 做 ${__BeanShell(props.get())}
如果您在 beanshell 中导入 JMeterUtils
,或者您正在开发自定义 java class,那么您将使用 JMeterUtils.getProperty()
。
在这三个中,我认为#1 是最有效的,因为它不需要实例化和评估 beanshell
对于 Beanshell,您可以随意使用任何您喜欢的方法。
对于 JSR223 Test Elements and Groovy language which is recommended way of doing scripting in your JMeter test - avoid refering JMeter Variables and Functions using ${this way} as it prevents script from compilation and causes execution overhead. See Beanshell vs JSR223 vs Java JMeter Scripting: The Performance-Off You've Been Waiting For! 文章更详细的解释、不同的脚本方法基准和脚本最佳实践。
我正在研究一些使用 BeanShell 断言的 JMeter 测试计划。在这些断言中,我想访问一些用户属性。有几种方法可以访问它们:
JMeterUtils.getProperty("propertyName")
${__P(propertyName)
props.get("propertyName")
不同之处在哪里,每个选项的优缺点是什么?它们是相互包装还是具有特定功能?
谢谢!
在功能上它们完全相同。它们甚至以相同的方式实现 - 它们都在当前 jmeter 属性对象上调用 getProperty()
方法。
区别在于你在哪里使用它们。
将变量放入 JMeter GUI 文本框时使用
${}
符号。例如,在 HTTP 采样器的字段中。请注意__P
是 shorthand 的,并且与__Property
完全相同
props.get()
用于 beanshell 脚本,无需显式导入JMeterUtils
。你也可以结合 1&2 做${__BeanShell(props.get())}
如果您在 beanshell 中导入
JMeterUtils
,或者您正在开发自定义 java class,那么您将使用JMeterUtils.getProperty()
。
在这三个中,我认为#1 是最有效的,因为它不需要实例化和评估 beanshell
对于 Beanshell,您可以随意使用任何您喜欢的方法。
对于 JSR223 Test Elements and Groovy language which is recommended way of doing scripting in your JMeter test - avoid refering JMeter Variables and Functions using ${this way} as it prevents script from compilation and causes execution overhead. See Beanshell vs JSR223 vs Java JMeter Scripting: The Performance-Off You've Been Waiting For! 文章更详细的解释、不同的脚本方法基准和脚本最佳实践。