Bootstrap

如何将多个jtl文件合并到一个,并且生成html报告

项目背景:

使用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
 

;