前置条件:首先我们默认Jmeter脚本已经录制好了,并测试通过,存在如下脚本
前期条件:存在Jmeter聚合测试报告TestReport201510100244.jtl
下载ant地址
配置环境变量
命令行窗口输入ant
安装成功
文件夹目录结构:
D:\jemeterTest
<?xml version="1.0" encoding="UTF-8"?> <project name="JmeterTest" default="all" basedir="."> <!-- 需要改成自己本地的 Jmeter 目录--> <property name="jmeter.home" value="D:\soft\apache-jmeter-2.9" /> <!-- jmeter生成jtl格式的结果报告的路径--> <property name="jmeter.result.jtl.dir" value="D:\jemeterTest\resultLog\jtl" /> <!-- jmeter生成html格式的结果报告的路径--> <property name="jmeter.result.html.dir" value="D:\jemeterTest\resultLog\html" /> <!-- jtl文件--> <property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/TestReport201510100244.jtl" /> <!-- 生成HTML文件 --> <property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/TestReport201510100244.html" /> <target name="all"> <antcall target="report" /> </target> <target name="report"> <xslt in="${jmeter.result.jtlName}" out="${jmeter.result.htmlName}" <!-- Jmeter自带的XSLT样式表在目录extras下面--> style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl" /> </target> </project>
4、切换到D:\jemeterTest目录下,输入ant查看运行结果,在D:\jemeterTest\resultLog\html目录下生成TestReport201510100244.html文件
这个问题比较奇葩,我的初步定为思路如下
将TestReport201510100244.jtl文件的第二行加入
<?xml-stylesheet type="text/xsl" href="D:/soft/apache-jmeter-2.9/extras/jmeter-results-detail-report_21.xsl"?>
用浏览器打开显示正常,初步排除了XSLT样式表问题
2)编写java程序,用程序去调取jmeter-results-detail-report_21.xsl,运行,发现报错,提示
致命错误: "无法编译样式表",
从网上找到了解决方案,要下载一个XALAN.Jar包放到项目中即可解决这个问题
3)将这两个jar包入ant的lib包中再次切换到D:\jemeterTest目录下,输入ant查看运行结果,在D:\jemeterTest\resultLog\html目录下生成TestReport201510100244.html文件,使用浏览器查看,OK,显示了!
我们发现在界面上没有显示,90%line,这个性能指标项,在这里我们需要修改XSLT样式表,jmeter-results-detail-report_21.xsl增加部分内容后的文件如下:
注:90%Line逻辑(网上找的释疑)
一组数由小到大进行排列,找到他的第90%个数(假如是10),那么这个数组中有90%的数将小于等于120。
用在性能测试的响应时间也将非常有意义,也就是90%用户响应时间不会超过12 秒
1)修改build.xml文件中的内容style="${jmeter.home}/extras/jmeter-results-detail-report_90Line.xsl" 然后切换到D:\jemeterTest目录下,输入ant查看运行结果,在
D:\jemeterTest\resultLog\html目录下生成TestReport201510100244.html文件,成功了!
主要逻辑思路:运行D:\jemeterTest\script下面的.jmx脚本,生成.jtl文件放入D:\jemeterTest\resultLog\jtl文件中,ant在将相应的文件转换为对应的html文件放入D:\jemeterTest\resultLog\html中
Note: As of JMeter 1.9RC2(?), the default results output format is now csv. It must be changed to xml in order to use the xslt task to create the html report:
jmeter默认保存的是.csv格式的文件,所以我们先要设置一下bin/jmeter.properties文件内容,保存
jmeter.save.saveservice.output_format=xml |
build.xml文件中的内容如下:
<?xml version="1.0" encoding="UTF-8"?> <project name="JmeterTest" default="all" basedir="."> <tstamp> <format property="time" pattern="yyyyMMddhhmm" /> </tstamp> <!-- 需要改成自己本地的 Jmeter 目录--> <property name="jmeter.home" value="D:\soft\apache-jmeter-2.9" /> <!-- jmeter生成jtl格式的结果报告的路径--> <property name="jmeter.result.jtl.dir" value="D:\jemeterTest\resultLog\jtl" /> <!-- jmeter生成html格式的结果报告的路径--> <property name="jmeter.result.html.dir" value="D:\jemeterTest\resultLog\html" /> <!-- 生成的报告的前缀 --> <property name="ReportName" value="TestReport" /> <property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}${time}.jtl" /> <property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}${time}.html" /> <!-- 接收测试报告的邮箱 --> <property name="mail_to" value="LIUCHAO448@pingan.com.cn"/> <!-- 电脑地址 --> <property name="ComputerName" value="jkqsh-l0285"/> <target name="all"> <antcall target="test" /> <antcall target="report" /> </target> <target name="test"> <taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" /> <jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}"> <!-- 声明要运行的脚本。"*.jmx"指包含此目录下的所有jmeter脚本 --> <testplans dir="D:\jemeterTest\script" includes="*.jmx" /> </jmeter> </target> <target name="report"> <xslt in="${jmeter.result.jtlName}" out="${jmeter.result.htmlName}" style="${jmeter.home}/extras/jmeter-results-detail-report_90Line.xsl" /> <!-- 因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝 --> <copy todir="${jmeter.result.html.dir}"> <fileset dir="${jmeter.home}/extras"> <include name="collapse.png" /> <include name="expand.png" /> </fileset> </copy> </target> <!-- 发送邮件 --> </project>
切换到D:\jemeterTest目录下,输入ant查看运行结果
运行前
运行后
浏览器打开HTML文件,显示正确
1、下载Jenkins安装
2、命令行切换到jenkins.war的根目录,输入 java -jar jenkins.war
3、浏览器输入地址http://localhost:8080/显示界面,安装成功
4、新建一个任务并配置
5、配置参数
旧的构建保存了你在一次构建中的所有临时文件,如果构建没有保留的必要,就勾选丢弃旧的构建,同时设置保持构建天使和保持构建的最大个数两个参数。
注意:三个设置必须同时设置,否则无效
6、设置定时运行间隔,这里,设置间隔时间为15分钟运行一次
7、设置invoke ant,完成后点击保存
8、点击立即构建,就可以调用ant,执行打包过程。在这里,也就是执行生成测试报告的步骤
原文:http://my.oschina.net/hellotest/blog/516079