Jmeter将数据库查询结果写入CSV文件供跨线程调用
配置好JDBC Request后,通过JSR223 后置处理程序选择groovy将查询结果写入CSV文件。
·
一、JDBC Request设置
import java.io.*
import java.nio.charset.StandardCharsets
// CSV文件路径和文件名
String csvFilePath = "E:/JmeterFile/sqldata.csv"
// 创建一个FileWriter对象,并设置编码为UTF-8,默认为GB2312
FileOutputStream fileOutputStream = new FileOutputStream(csvFilePath, false) // false表示不追加,会覆盖原文件
//BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(fileOutputStream, StandardCharsets.UTF_8))
BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(fileOutputStream))
try {
// 获取sql查询结果的行数
String num = vars.get("number_#")
// 控制循环次数,写入count行文件
int count = Integer.parseInt(num)
for (int i = 1; i <= count; i++) {
String strname = vars.get("name_" + i)
String strnumber = vars.get("number_" + i)
bufferedWriter.write("${strname},") // 注意Groovy字符串插值,不需要用+来连接字符串
bufferedWriter.write(strnumber)
bufferedWriter.newLine() // Groovy提供了更简洁的换行方法
}
bufferedWriter.flush() // 刷新缓冲区,确保数据被写入文件
} catch (IOException e) {
log.error("Error writing to CSV file: " + e.getMessage())
} finally {
try {
bufferedWriter.close() // 关闭BufferedWriter
} catch (IOException e) {
bufferedWriter.close()
log.error("Error closing BufferedWriter: " + e.getMessage())
}
}
配置好JDBC Request后,通过JSR223 后置处理程序选择groovy将查询结果写入CSV文件
二、csv数据文件设置
三、调用csv值
如请求中包含空格等特殊字符,勾选编码,否则会报错

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐
所有评论(0)