我正在制定一些使用 BeanShell 断言的 JMeter 测试计划。在这些断言中,我想访问一些用户属性。有多种方法可以访问它们:
JMeterUtils.getProperty("propertyName")
${__P(propertyName)
props.get("propertyName")
每个选项的差异在哪里以及优缺点是什么?它们是彼此的包装还是具有特定的功能?
谢谢!
最佳答案
从功能上来说,它们都是完全相同的。它们甚至以相同的方式实现 - 它们都调用当前 jmeter 属性对象上的 getProperty()
方法。
区别在于您使用它们的位置。
将变量放入 JMeter GUI 文本框中时使用
${}
表示法。例如,在 HTTP 采样器的字段中。注意,__P
是简写,与__Property
完全相同props.get()
用于 beanshell 脚本中,无需显式导入JMeterUtils
。您还可以组合 1&2 来执行${__BeanShell(props.get())}
如果您在 beanshell 中导入
JMeterUtils
,或者您正在开发自定义 java 类,那么您将使用JMeterUtils.getProperty()
。
在这三个中,我认为#1是最有效的,因为它不需要实例化和评估beanshell
关于jmeter - 在 JMeter 中使用 JMeterUtils.getProperty 与 __P 有何优缺点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33692349/