JMeter Beanshell 后处理器:读取文件
JMeter Beanshell Postprocessor : Reading a file
我在 Beanshell 后处理器中使用以下脚本
import java.io.*;
File f =new File ("C:\Users\xxxxx\Desktop\testresults.csv");
FileWriter fw=new FileWriter(f,true);
BufferedWriter bw=new BufferedWriter(fw);
var r=prev.getResponseCode();
if (r.equals("200"))
{
bw.write("Test Passed");
}
else
{
bw.write("Test failed");
}
bw.close();
fw.close();
但我收到以下错误
BeanShellInterpreter:调用 bsh 方法时出错:eval 源文件:内联评估:``import java.io.*;文件 f = 新文件 ("C:\Users\xxxxx\Desktop\testresults.csv") 。 . . '' 令牌解析错误:第 2 行第 23 列的词法错误。遇到:“U”(85),之后:“”C:\”。
什么可能导致上述错误。
更改为 JSR223 Post 处理器并写成一行(groovy 默认值)
new File("C:\Users\xxxx\Desktop\\testresults.csv") << (prev.getResponseCode().equals("200") ? "Test Passed" : "Test failed")
您需要 escape a backslash 使用反斜杠,例如:
C:\Users\xxxxx\Desktop\testresults.csv
或改用正斜杠:
C:/Users/xxxxx/Desktop/testresults.csv
更多提示:
- Since JMeter 3.1 you should be using JSR223 Test Elements and Groovy language 用于脚本
- 如果您 运行 使用 2 个或更多并发线程进行测试,它们将写入同一个文件,导致数据损坏,因为 race condition so maybe it worth considering switching to Flexible File Writer 而不是
我在 Beanshell 后处理器中使用以下脚本
import java.io.*;
File f =new File ("C:\Users\xxxxx\Desktop\testresults.csv");
FileWriter fw=new FileWriter(f,true);
BufferedWriter bw=new BufferedWriter(fw);
var r=prev.getResponseCode();
if (r.equals("200"))
{
bw.write("Test Passed");
}
else
{
bw.write("Test failed");
}
bw.close();
fw.close();
但我收到以下错误 BeanShellInterpreter:调用 bsh 方法时出错:eval 源文件:内联评估:``import java.io.*;文件 f = 新文件 ("C:\Users\xxxxx\Desktop\testresults.csv") 。 . . '' 令牌解析错误:第 2 行第 23 列的词法错误。遇到:“U”(85),之后:“”C:\”。
什么可能导致上述错误。
更改为 JSR223 Post 处理器并写成一行(groovy 默认值)
new File("C:\Users\xxxx\Desktop\\testresults.csv") << (prev.getResponseCode().equals("200") ? "Test Passed" : "Test failed")
您需要 escape a backslash 使用反斜杠,例如:
C:\Users\xxxxx\Desktop\testresults.csv
或改用正斜杠:
C:/Users/xxxxx/Desktop/testresults.csv
更多提示:
- Since JMeter 3.1 you should be using JSR223 Test Elements and Groovy language 用于脚本
- 如果您 运行 使用 2 个或更多并发线程进行测试,它们将写入同一个文件,导致数据损坏,因为 race condition so maybe it worth considering switching to Flexible File Writer 而不是