如何使用beanshell在jmeter中的excel/csv文件中写入特定单元格的数据?

yh2wf1be  于 2022-11-09  发布在  Shell
关注(0)|答案(1)|浏览(519)

我尝试使用beanshell在excel或CSV文件中写入数据。但我可以在excel工作表中写入数据,但无法在CSV文件中写入特定单元格的数据。
下面是代码。

var response = prev.getResponseDataAsString(); 
f = new FileOutputStream("C:/Users/adityak/Desktop/K/app.csv", true);
p = new PrintStream(f);
this.interpreter.setOut(p);
print(response);
f.close();
aydmsdu9

aydmsdu91#

  1. CSV文件没有“单元格”,它是带分隔符的纯文本文件,分隔符主要是逗号,因为CSV代表comma-separated values
    1.从JMeter 3.1开始,建议使用Groovy编写脚本
  • 假设上述所有情况:
  • 切换到JSR223测试元素和Groovy
  • 使用File.readLines()函数读取现有文件
  • 通过String.split()函数使用分隔符将其拆分
  • 用新值替换原有值。

例如,如果您有以下文件:

1,2,3
4,5,6
7,8,9

并且希望将5替换为hello,则相关的Groovy代码如下所示:

def csvFile = new File('/home/dtikhanski/Desktop/test.csv')
def lines = csvFile.readLines()

def secondLine = lines.get(1)
def entries = secondLine.split(",")
entries[1] = 'hello'
secondLine = entries.join(',')
lines.set(1, secondLine)

csvFile.withWriter{ out ->
    lines.each {out.println it}
}

演示:

相关问题