首页 > 解决方案 > 如何使用beanshell在jmeter的excel/csv文件中的特定单元格写入数据?

问题描述

我正在尝试使用 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();

任何帮助,将不胜感激。

标签: jmeterqajmeter-pluginsbeanshell

解决方案


  1. CSV 文件没有“单元格”,它是带有分隔符的纯文本文件,主要是逗号,因为 CSV 代表逗号分隔值
  2. JMeter 3.1 开始,建议使用 Groovy 进行脚本编写
  3. 假设以上所有:

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

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

并希望5hello相关的 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}
}

演示:

JMeter Groovy 替换 CSV


推荐阅读