jmeter 我试图从CSV文件中读取数据(使用beanshell预处理器)在随机行序列,因为它没有随机CSV数据集配置

yqyhoc1h  于 2023-11-19  发布在  Shell
关注(0)|答案(1)|浏览(153)

我试图从CSV文件中读取数据(使用beanshell预处理器)在随机行序列,因为它没有随机CSV数据集配置插件作为防火墙不允许Blazemeter插件。
CSV内容-2列(用户名,密码)行数-100我试过下面的beanshell脚本读取随机行。
import org.apache.commons.io.FileUtils; //必要的导入
int lines = FileUtils.readLines(new File(“C:/Users/smaharana008/PT_Work/UARS/UARS/01_CUSer_subset.csv”)).size(); log.info(“The number of rows in the CSV File is:“+ lines); vars.put(“lines”,String.valueOf(lines));
100d 1xx 1c 1d 1x的字符串

idv4meu8

idv4meu81#

最好的方法是在setUp Thread Group中的某个位置“shuffle”原始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语言进行脚本编写,因此请考虑迁移。

相关问题