我正在尝试以随机行顺序从 CSV 文件(使用 beanshell 预处理器)读取数据,就像随机 CSV 数据集配置一样

问题描述 投票:0回答:1

我正在尝试以随机行顺序从 CSV 文件(使用 beanshell 预处理器)读取数据,因为它是随机 CSV 数据集配置插件,因为防火墙不允许 Blazemeter 插件。

CSV内容-2列(用户名,密码) 不。行数-100 我尝试过下面的 beanshell 脚本来读取随机行。

导入org.apache.commons.io.FileUtils; //必要的导入

intlines = FileUtils.readLines(new File("C:/Users/smaharana008/PT_Work/UARS/Docs/01_CUser_subset.csv")).size(); log.info("CSV 文件中的行数为:" + 行数); vars.put("lines", String.valueOf(lines));

jmeter filereader beanshell read-csv
1个回答
0
投票

最好的方法是在 setUp Thread Group

中的某个位置“洗牌”原始 CSV 文件

您可以使用 JSR223 Sampler 和类似代码来完成此操作:

def original = new File('original.csv')
def random = new File('random.csv')

def credentials = original.readLines().tail()
credentials.shuffle()

random.withWriter { writer ->
    writer.writeLine('uname,pwd')
    credentials.each { line ->
        writer.writeLine(line)
    }
}

然后在“正常”线程组中将 CSV 数据集配置指向此

random.csv
文件。

另请注意,自 JMeter 3.1 起,您应该使用 JSR223 测试元素和 Groovy 语言进行脚本编写,因此请考虑迁移。

© www.soinside.com 2019 - 2024. All rights reserved.