最初,所有導入都正常工作,直到我關閉並重新打開腳本,然後幾條導入語句的顏色發生變化並且在運行時發生錯誤劇本。爲什麼在JMeter的BeanShell採樣器中無法訪問java.net軟件包
見上文,在某些類顯示黑色和一些在金色。黑色的東西給了beanshell例外。 它正在工作,但關閉並重新開放腳本後突然創建了這種混亂。
有人可以解釋這種奇怪的行爲......?
最初,所有導入都正常工作,直到我關閉並重新打開腳本,然後幾條導入語句的顏色發生變化並且在運行時發生錯誤劇本。爲什麼在JMeter的BeanShell採樣器中無法訪問java.net軟件包
見上文,在某些類顯示黑色和一些在金色。黑色的東西給了beanshell例外。 它正在工作,但關閉並重新開放腳本後突然創建了這種混亂。
有人可以解釋這種奇怪的行爲......?
默認進口
默認情況下,通用的Java核心和擴展包是進口的爲您服務。他們 是,在其進口的順序:
的javax.swing.event
javax.swing中
的java.awt.event
的Java。 awt
java.net
java.util中
java.io
的java.lang
兩個BeanShell的包中的類也被默認的輸入:
bsh.EvalError
bsh.Interpreter
所以基本上你不需要導入這些「黑色」的包。
也可以使用「超級進口」裝入等的整個類路徑:
import *;
爲了得到你的腳本失敗的底部或者添加debug()
directive到開始你的腳本 - 這樣你將得到全面的調試信息stdout或把你的代碼放在try block裏面:
try {
//your code here
}
catch (Exception ex) {
log.error("Beanshell failure", ex);
}
這樣你將得到「正常」stacktrace在jmeter.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,其性能要高得多。
Thanks @Dmitri T, try-catch幫助我識別錯誤。我的網址不正確。 黑色和金色的顏色並不重要。 – Fazaikh