尝试使用beanshell创建文件时出现Jmeter错误

时间:2016-08-17 16:03:00

标签: jmeter

这是我的beanshell代码,用于创建文件并向其附加一行:

FileName = vars.get("fileName");

f = new FileOutputStream(FileName,true);
p = new PrintStream(f); 
this.interpreter.setOut(p); 


print("Test Set: " + FileName);

f.close();

我从前一个采样器中的正则表达式提取器获取fileName。我检查了调试后处理器并确认已正确设置。但是我在采样器结果中收到此错误:

Response code: 500
Response message: org.apache.jorphan.util.JMeterException: Error invoking bsh     method: eval  Sourced file: inline evaluation of: ``FileName = vars.get("fileName");  f = new FileOutputStream(FileNam . . . '' : Object constructor

1 个答案:

答案 0 :(得分:2)

问题是:如果FileName为null,FileOutputStream的构造函数将抛出异常,而BeanShell在显示基础异常方面不是很好。所以你需要的是处理文件名为null的情况:

String fileName = vars.get("fileName");

if( fileName == null )
{
    fileName = "mydefaultname"; // assign some default name
}

f = new FileOutputStream(fileName, true);
p = new PrintStream(f); 
this.interpreter.setOut(p); 


print("Test Set: " + fileName);

f.close();

如果您不想拥有某个默认名称,也可以在此时退出脚本:

if( fileName == null )
{
    return;
}