2015-11-13 26 views
1

我正在使用一些採用BeanShell斷言的JMeter測試計劃。在這些斷言中,我想獲取一些用戶屬性。有幾種方式可以訪問它們:在JMeter中使用JMeterUtils.getProperty與__P有什麼優缺點?

JMeterUtils.getProperty("propertyName") 
${__P(propertyName) 
props.get("propertyName") 

每個選項的區別和優缺點在哪裏?它們是相互包裝還是具有特定的功能?

謝謝!

回答

1

在功能上它們都完全一樣。它們甚至以相同的方式實現 - 它們都在當前jmeter屬性對象上調用getProperty()方法。

區別在於你使用它們的地方。把變量放入JMeter的GUI文本框時

  1. ${}表示法。例如,在HTTP採樣器的字段中。注意:__P是簡寫,並且完全一樣__Property

  2. props.get()中的BeanShell腳本中使用,而無需顯式導入JMeterUtils。您也可以將1 & 2做${__BeanShell(props.get())}

  3. 如果在BeanShell中導入JMeterUtils,或者你正在開發一個自定義的Java類,那麼你可以使用JMeterUtils.getProperty()

在三者當中,我會覺得#1是最有效的,因爲它並不需要實例化和評估的BeanShell

相關問題