项目背景:
使用jmeter+jenkins做自动化测试,不同业务写在不同的jmx文件中,现在需要生成一份汇总的报告。
多个脚本,A.jtl,B.jtl,C.jtl,D.jtl..,需要将这些jtl文件生成一个html文件
1.创建汇总文件merged.jtl文件,
2.循环文件夹下面的jtl文件,将第一个文件复制给merged.jtl
3.其他文件去掉第一行后,写入到merged.jtl
4.使用jmeter -g merged.jtl -o /data/jmeter/TestResult 命令将执行结果写入到目录中
脚本如下:
# 合并后的文件名
merged_file="merged.jtl"
i=0
# 添加所有.jtl文件到合并命令中
rm -rf merged.jtl
for jtl_file in *.jtl; do
echo $jtl_file
i=$(($i+1))
# echo 'i=='+ $i
if (($i==1))
then
# echo $i
# echo "第一个文件不做处理$jtl_file"
cp $jtl_file $merged_file
else
#echo $i
#echo "非第一个文件$jtl_file"
sed -e '1d' $jtl_file >> $merged_file
fi
#echo "拼接中"
done
echo "拼接完成-----------"
docker run --rm -v /data/jmeter:/data/jmeter docker.nju.edu.cn/justb4/jmeter:latest -g /data/jmeter/file/$merged_file -o /data/jmeter/TestResult