2017-08-29 27 views
0

最初,所有導入都正常工作,直到我關閉並重新打開腳本,然後幾條導入語句的顏色發生變化並且在運行時發生錯誤劇本。爲什麼在JMeter的BeanShell採樣器中無法訪問java.net軟件包

enter image description here

見上文,在某些類顯示黑色和一些在金色。黑色的東西給了beanshell例外。 它正在工作,但關閉並重新開放腳本後突然創建了這種混亂。

有人可以解釋這種奇怪的行爲......?

回答

1

Beanshell User Manual

默認進口

默認情況下,通用的Java核心和擴展包是進口的爲您服務。他們 是,在其進口的順序:

  • 的javax.swing.event

  • javax.swing中

  • 的java.awt.event

  • 的Java。 awt

  • java.net

  • java.util中

  • java.io

  • 的java.lang

兩個BeanShell的包中的類也被默認的輸入:

  • bsh.EvalError

  • bsh.Interpreter

所以基本上你不需要導入這些「黑色」的包。

JMeter Beanshell Without Import

也可以使用「超級進口」裝入等的整個類路徑:

import *; 

爲了得到你的腳本失敗的底部或者添加debug() directive到開始你的腳本 - 這樣你將得到全面的調試信息stdout或把你的代碼放在try block裏面:

try { 
    //your code here 
} 
catch (Exception ex) { 
    log.error("Beanshell failure", ex); 
} 

這樣你將得到「正常」stacktracejmeter.log文件。

請參閱How to Use BeanShell: JMeter's Favorite Built-in Component文章瞭解更多詳情。


另外要注意的是,由於JMeter的3.1 it is recommended to use JSR223 Test Elements and Groovy language for scripting,所以我會建議考慮轉移到Groovy中,它更符合Java,具有良好的SDK enhancements,其性能要高得多。

+0

Thanks @Dmitri T, try-catch幫助我識別錯誤。我的網址不正確。 黑色和金色的顏色並不重要。 – Fazaikh

相關問題