1、点击新建Item
2、进入新建页面,填写项目名称,选择freestyle project
3、填写项目描述和构建文件保存天数和保存构建最大个数
4、选择增加构建步骤的windows bath command
然后填写批处理命令,命令如下:
@echo off
echo jmeter.properties文件存在判断
SET GenFileName=D:\apache-jmeter-5.1.1\bin\jmeter.properties
SET xmlFileName=D:\apache-jmeter-5.1.1\bin\jmeterxml.properties
SET csvFileName=D:\apache-jmeter-5.1.1\bin\jmetercsv.properties
if exist %GenFileName% (
rem 修改jmeter.properties文件名
if not exist %xmlFileName% (
rem 修改jmeter.properties文件名
cd D:\apache-jmeter-5.1.1\bin
reName jmeter.properties jmeterxml.properties
echo jmeter.properties文件以重命名为jmeterxml.properties!
) else (
rem 修改jmeter.properties文件名
cd D:\apache-jmeter-5.1.1\bin
reName jmeter.properties jmetercsv.properties
echo jmeter.properties文件已重命名为jmetercsv.properties!
)
echo %GenFileName%已重名成功!
) else (
echo %GenFileName%不存在,不用重名!
)
reName jmetercsv.properties jmeter.properties
jemeter.properties是jmeter的配置文件,而另两个可以看成jemeter.properties副本文件,只不过是里面的配置不同
jmeterxml.properties和jmetercsv.properties的区别就是jmeter.save.saveservice.output_format这一项的值不一样,jmeterxml.properties是xml;jmetercsv.properties是csv
jmeter默认的jmeter.save.saveservice.output_format=csv;这个配置决定jmeter监听器保存的结果样本的格式是什么,jmeter生成性能测试报告需要jmeter.save.saveservice.output_format=csv,而我们生成接口自动化测试报告需要jmeter.save.saveservice.output_format=xml;因为我们这个框架输出报告时不但生成接口自动化框架,也同时生成了性能测试报告,所以我们事先准备好这个两个文件,生成性能测试报告时就用将jmetercsv.properties改为jmeter.properties,生成接口测试报告就将jmeterxml.properties改为jmeter.properties。
接下来看这段代码的含义:
@echo off
echo jmeter.properties文件存在判断
SET GenFileName=D:\apache-jmeter-5.1.1\bin\jmeter.properties
SET xmlFileName=D:\apache-jmeter-5.1.1\bin\jmeterxml.properties
SET csvFileName=D:\apache-jmeter-5.1.1\bin\jmetercsv.properties
if exist %GenFileName% (
rem 修改jmeter.properties文件名
if not exist %xmlFileName% (
rem 修改jmeter.properties文件名
cd D:\apache-jmeter-5.1.1\bin
reName jmeter.properties jmeterxml.properties
echo jmeter.properties文件以重命名为jmeterxml.properties!
) else (
rem 修改jmeter.properties文件名
cd D:\apache-jmeter-5.1.1\bin
reName jmeter.properties jmetercsv.properties
echo jmeter.properties文件已重命名为jmetercsv.properties!
)
echo %GenFileName%已重名成功!
) else (
echo %GenFileName%不存在,不用重名!
)
reName jmetercsv.properties jmeter.properties
if语句是判断这jmetercsv.propertie和jmetexml.propertie存在不存在的;如果不存在就将jmeter.properties重命名为指定的文件名
我们一般事先在bin目录下准备好jmetercsv.propertie和jmetexml.propertie这两个文件,所以if那段语句就不是特别重要了。
我们这个框架是先生成性能测试报告后生成接口自动化报告,所以先将jmetercsv.properties改为jmeter.properties。
5、继续新增一个构建步骤windows bath command
填写下面的批处理命令
@echo off
echo result.jtl文件判断
SET GenFile=D:\apache-jmeter-5.1.1\report\jtl-report-output\result.jtl
if not exist %GenFile% (
rem 创建空文件D:\apache-jmeter-5.1.1\report\jtl-report-output\result.jtl
rem 如果需要添加内容,少量的,可以用内容把“nul”替换掉,比如:type 这是文件内容>%GenFile%;多的话则使用复制方法
type nul>%GenFile%
echo %GenFile%文件不存在,已创建该文件!
) else (
rem 文件D:\apache-jmeter-5.1.1\report\jtl-report-output\result.jtl已存在,无需创建
echo %GenFile%文件已存在,无需创建!
)
echo OutReport目录判断
SET GenFolder=D:\apache-jmeter-5.1.1\report\OutReport
if not exist %GenFolder% (
rem 创建空目录D:\apache-jmeter-5.1.1\report\OutReport
rem 创建非空目录,使用复制方法
echo %GenFolder%目录不存在,已创建该目录!
md %GenFolder%
) else (
rem 目录D:\apache-jmeter-5.1.1\report\OutReport已存在,无需创建
echo 目录%GenFolder%目录已存在,无需创建!
)
echo 删除之前的result.jtl文件和OutReport目录
del /s /q D:\apache-jmeter-5.1.1\report\jtl-report-output\result.jtl
rd /s /q D:\apache-jmeter-5.1.1\report\OutReport
echo 执行脚本输出Dashboard报告
//如果没有将jemter添加到环境变量的话需要cd到bin目录下;这里输出至OutReport文件夹下的是jmeter性能测试报告
cd D:\apache-jmeter-5.1.1\bin
jmeter -n -t D:\apache-jmeter-5.1.1\workspace\ceshi.jmx -l D:\apache-jmeter-5.1.1\report\jtl-report-output\result.jtl -e -o D:\apache-jmeter-5.1.1\report\OutReport
ceshi.jmx是jmeter脚本,result.jtl是保存监听器结果的文件名
5、继续新增一个构建步骤windows bath command
填写下面批处理命令
@echo off
echo jmeter.properties文件存在判断
SET GenFileName=D:\apache-jmeter-5.1.1\bin\jmeter.properties
SET xmlFileName=D:\apache-jmeter-5.1.1\bin\jmeterxml.properties
SET csvFileName=D:\apache-jmeter-5.1.1\bin\jmetercsv.properties
if exist %GenFileName% (
rem 修改jmeter.properties文件名
if not exist %xmlFileName% (
rem 修改jmeter.properties文件名
cd D:\apache-jmeter-5.1.1\bin
reName jmeter.properties jmeterxml.properties
echo jmeter.properties文件以重命名为jmeterxml.properties!
) else (
rem 修改jmeter.properties文件名
cd D:\apache-jmeter-5.1.1\bin
reName jmeter.properties jmetercsv.properties
echo jmeter.properties文件已重命名为jmetercsv.properties!
)
echo %GenFileName%已重名成功!
) else (
echo %GenFileName%不存在,不用重名!
)
reName jmeterxml.properties jmeter.properties
接下来我们需要输出接口自动化报告所以,我们需要把jmeter.properties改成jmetercsv.properties;再把jmeterxml.properties改成jmeter.properties
6、继续新增一个构建步骤windows bath command
@echo off
echo result.jtl文件判断
SET GenFile=D:\apache-jmeter-5.1.1\report\jtl-report-output\result.jtl
if not exist %GenFile% (
rem 创建空文件D:\apache-jmeter-5.1.1\report\jtl-report-output\result.jtl
rem 如果需要添加内容,少量的,可以用内容把“nul”替换掉,比如:type 这是文件内容>%GenFile%;多的话则使用复制方法
type nul>%GenFile%
echo %GenFile%文件不存在,已创建该文件!
) else (
rem 文件D:\apache-jmeter-5.1.1\report\jtl-report-output\result.jtl已存在,无需创建
echo %GenFile%文件已存在,无需创建!
)
echo OutReport目录判断
SET GenFolder=D:\apache-jmeter-5.1.1\report\OutReport
if not exist %GenFolder% (
rem 创建空目录D:\apache-jmeter-5.1.1\report\OutReport
rem 创建非空目录,使用复制方法
echo %GenFolder%目录不存在,已创建该目录!
md %GenFolder%
) else (
rem 目录D:\apache-jmeter-5.1.1\report\OutReport已存在,无需创建
echo 目录%GenFolder%目录已存在,无需创建!
)
删除jtl文件
del "D:\apache-jmeter-5.1.1\report\jtl"\***.jtl
echo 执行脚本输出HTML报告
//当ant添加到环境变量时
echo cd到build.xml所在extras文件夹下
cd D:\apache-jmeter-5.1.1\extras
ant.bat -file build.xml -Dtest=Test
//如果ant没有添加到环境变量时
//cd d:\ant\bin
//ant.bat -file D:\apache-jmeter-5.1.1\extras\build.xml -Dtest=Test
到此构建步骤完毕
点击页面下方的保存按钮