groovy 从CSV文件阅读行以构建正文请求

bvpmtnay  于 2022-11-01  发布在  其他
关注(0)|答案(2)|浏览(130)

我正在使用Jmeter创建一个性能测试,我需要创建一个如下所示的主体请求:

{
  [ "objectName1", "objectName2", ..., "objectNameN" ]
}

所以我需要创建一个Groovy脚本,根据带有对象名称的.csv文件来构建这个请求。我已经做了如下操作:

//Default separator
char SEPARATOR = ',';

String csvFile = props.get("csvPathAndName")

log.info('__________________________________________________________________________________________________________________________________________________________')
log.info(csvFile)

//function to read csv file
def readLines(String csvFile) {
    File file = new File(csvFile);
    List<String> objectNames = file.readLines();
//  objectsNames.stream().forEach(e -> listOfString + ", " + e);
    vars.put("listOfObjects", "'objectName1', 'objectName2', 'ObjectName3'");
}

readLines(csvFile)

请注意,在行

vars.put("listOfObjects", ...

我想用我的.csv文件的值填充我的listOfObjects。有人能帮助我吗?我不太擅长Groovy,所以我现在面临这个问题=//

aij0ehis

aij0ehis1#

我想你需要把这行字改一下:

vars.put("listOfObjects", "'objectName1', 'objectName2', 'ObjectName3'");

改为:

vars.put("listOfObjects", '"' + objectNames.join('","') + '"');

并将请求正文修改为:

{
  [ ${listOfObjects} ]
}

更多信息:

xmjla07d

xmjla07d2#

我已经这样做了。我已经删除了数组的最后一个元素,以删除文件结尾
第一个
而我的请求身体

[${listOfObjects}]

相关问题