最初,所有导入都正常工作,直到我关闭并重新打开脚本,然后几条导入语句的颜色发生变化并且在运行时发生错误剧本。为什么在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