JMeter(2) 集成jmeter+ant+jenkins

一、ant安装

$su root
$vi /etc/bashrc
插入两行(i+enter插入)
export ANT_HOME=/usr/local/apache-ant-1.9.3
export PATH=${PATH}:${ANT_HOME}/bin
退出(exit),保存修改:wq!
exit
让配置立即生效:
$source /etc/bashrc
验证生效:
$ant -version
输出版本号即为成功

二、运行脚本前准备

  1. 录制Jmeter脚本0622.jmx

  2. 将JMeter->extras->ant-JMeter-1.1.1.jar复制到Ant->lib目录下(这样Ant运行时才能找到”org.programmerplanet.ant.taskdefs.jmeter.JMeterTask”这个类,从而成功触发JMeter脚本)

  3. jmeter默认保存的是.csv格式的文件,所以我们先要修改一下bin/jmeter.properties,保存 jmeter.save.saveservice.output_format=xml

  4. 主要逻辑思路:
    运行script下面的.jmx脚本,生成.jtl文件放入resultLog\jtl文件中,ant在将相应的文件转换为对应的html文件放入resultLog\html中
    <pre><code>
    <?xml version=”1.0″ encoding=”utf-8″?>
    <project name=”JmeterTest” default=”all” basedir=”.”>
    <tstamp>
    <format property=”time” pattern=”yyyyMMddhhmm” />
    </tstamp>

    <property name=”jmeter.home” value=”D:\software\apache-jmeter-3.0″ />

    <property name=”jmeter.result.jtl.dir” value=”D:\software\apache-jmeter-3.0\jmeterTest\resultLog\jtl” />

    <property name=”jmeter.result.html.dir” value=”D:\software\apache-jmeter-3.0\jmeterTest\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=”1939986747@qq.com” />

    <property name=”ComputerName” value=”Susie” />
    <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}”>

    <testplans dir=”D:\software\apache-jmeter-3.0\jmeterTest\script” includes=”0622.jmx” />
    </jmeter>
    </target>

    <path id=”xslt.classpath”>
    <fileset dir=”${jmeter.home}/lib” includes=”xalan.jar”/>
    <fileset dir=”${jmeter.home}/lib” includes=”serializer
    .jar”/>
    </path>

    <target name=”report”>
    <xslt
    classpathref=”xslt.classpath”
    force=”true”
    in=”${jmeter.result.jtlName}”
    out=”${jmeter.result.htmlName}”
    style=”${jmeter.home}/extras/jmeter-results-detail-report_21.xsl”>
    <param name=”dateReport” expression=”${report.datestamp}”/>
    </xslt>

     <!-- 因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝 -->
     <copy todir="${jmeter.result.html.dir}">
         <fileset dir="${jmeter.home}/extras">
             <include name="collapse.png" />
             <include name="expand.png" />
         </fileset>
     </copy>
    

    </target>

    </project></code></pre>
    想要运行多个脚本的话可以修改配置文件里面的目标script
    <pre><code>
    <testplans dir=”D:\software\apache-jmeter-3.0\jmeterTest\script” includes=”*.jmx” />
    </code></pre>

三、运行测试脚本

命令行进入到jmeterTest里面,运行ant命令,可以看到build成功

《JMeter(2) 集成jmeter+ant+jenkins》 命令窗口.png

运行之前的文件目录

《JMeter(2) 集成jmeter+ant+jenkins》

运行之后的文件目录,可看到生成了测试报告

《JMeter(2) 集成jmeter+ant+jenkins》

<span id = “jump”>跳转到这里:</span>

四、测试报告

  1. 测试报告为空,MinTime和MaxTime为NaN

样式表版本不对,所以网上找了到jmeter-results-detail-report_21.xsl,下载放到jmeter->extra下
把jmeter->lib下的xalan.jar、serializer.jar复制到ant->lib下
重新跑脚本,这次打开就是ok了

  1. 样式拓展
    样式参考 http://shanhe.me/node/18/314,修改extras.build,下载shanghe.xml

五、集成jenkins

  1. 运行jenkins
    命令行进入jenkins目录,运行 java -jar jenkins.war
    浏览器打开http://localhost:8080/, 看到jenkins首页

    《JMeter(2) 集成jmeter+ant+jenkins》

  2. 新建项目
    新建->item名称->选择“自由风格”->ok,项目新建成功进入配置页

  3. 构建触发器
    想要定时构建,可以选择Build periodically,日程表参数解释如下:
    第一个参数代表的是分钟minute,取值0~59;
    第二个参数代表的是小时hour,取值0~23;
    第三个参数代表的是天day,取值1~31;
    第四个参数代表的是月month,取值1~12;
    第五个参数代表的是星期week,取值0~7,0和7都代表星期天。
    如 0 * * * * 表示每小时的第0分钟执行一次构建。
    0 16 * * 1 表示每周一16时0分执行一次。
    01 12 * * 1-5表示周一到周五的12点01分执行一次

  4. 引入ant
    构建->增加构建步骤->Invoke Ant->BuildFile 填build文件的地址

    《JMeter(2) 集成jmeter+ant+jenkins》

  5. 执行任务
    点击立即构建,立即运行一次任务

    《JMeter(2) 集成jmeter+ant+jenkins》

    在左下角BuildHistory里面可以查看运行结果详情

    《JMeter(2) 集成jmeter+ant+jenkins》

  6. jenkins自带的报告插件查看测试结果
    为了更加方便地查看测试报告,插件列表里面添加Publish Performance test result report和Publish HTML reports
    项目的配置增加这两块:

    《JMeter(2) 集成jmeter+ant+jenkins》

    !!修改xml文件生成jtl和html文件的目录到jenkins的工作目录下(jenkins设置如此吧,只能读自己工作目录的文件,不然要修改jenkins的配置太麻烦了。゚(゚´ω`゚)゚。此处经过挺多波折不细说了)

<property name="jmeter.result.jtl.dir" value="C:\Users\11\.jenkins\workspace\jtl" />
<property name="jmeter.result.html.dir" value="C:\Users\11\.jenkins\workspace\html" />

好了再次保存后运行

《JMeter(2) 集成jmeter+ant+jenkins》

可以看到历史报告在这里了,点进去看看吧 d(`・∀・)b

《JMeter(2) 集成jmeter+ant+jenkins》

  1. 测试结果发布邮件
    系统设置
    设置发件邮箱信息,注意保持发件邮箱跟管理员邮箱一致==
    《JMeter(2) 集成jmeter+ant+jenkins》
    smpt服务器设置每个邮箱都不一样,点击发送测试邮件,收件箱会收到测试邮件
    《JMeter(2) 集成jmeter+ant+jenkins》
    《JMeter(2) 集成jmeter+ant+jenkins》
    项目配置
    《JMeter(2) 集成jmeter+ant+jenkins》
    运行一下工程,会收到邮件~报告样式后续优化
    《JMeter(2) 集成jmeter+ant+jenkins》

六、优化jenkins主题

因为jenkins的字体和界面丑得有点一言难尽,于是找到了
超棒的jenkins主题网站
按照教程做就ok~替换主题后界面顺眼很多:扁平化、字体也好看了

《JMeter(2) 集成jmeter+ant+jenkins》

    原文作者:susie酱
    原文地址: https://www.jianshu.com/p/60cb4f03b872
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞