<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    qileilove

    blog已經轉移至github,大家請訪問 http://qaseven.github.io/

    Jenkins+Ant+Jmeter自動化性能測試平臺

     Jmeter性能測試的工具,java編寫、開源,小巧方便,可以圖形界面運行也可以在命令行下運行。網上已經有人使用ant來運行,,既然可以使用ant運行,那和hudson、jenkins集成就很方便了,而且jenkins上也有相應的插件Performance Plugin,可以自動收集jmeter的測試結果,展示出來。
      首先去下載jmeter,在2.8版本中測試通過,2.9版本測試未通過。下載ant-jmeter-1.1.1.jar放在jmeter主目錄lib文件夾下。
      下載需要的ant包,包含配置文件和一些jar包。里面的build.xml是配置文件,可以自定義。需要修改其中jmeter路徑,然后直接ant運行即可。 
    <?xml version="1.0" encoding="utf-8"?>
    <project default="all">
    <!-- Define your Jmeter Home & Your Report Title & Interval Time Between Test-->
    <property name="report.title" value="WebLoad Test Report"/>
    <property name="jmeter-home" location="D:\work\apache-jmeter-2.8" />
    <property name = "interval-time-in-seconds" value ="10"/>
    <!-- default path config, you can modify for your own requirement;Generally, you do not need to modify -->
    <property environment="env" />
    <property name="runremote" value="false"/>
    <property name="resultBase" value="results"/>
    <property name="results.jtl" value="jtl"/>
    <property name="results.html" value ="html"/>
    <property name="jmxs.dir"  value= "jmxs"/>
    <tstamp><format property="report.datestamp" pattern="yyyy-MM-dd-HH-mm-ss"/></tstamp>
    <property name="time" value="${report.datestamp}"/>
    <!--  Diffrent version of Jmeter has its own ant-jmeter.jar,Please input the right versioin -->
    <path id="ant.jmeter.classpath">
    <pathelement location="${jmeter-home}/lib/ant-jmeter-1.1.1.jar" />
    </path>
    <taskdef name="jmeter"
    classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask"
    classpathref="ant.jmeter.classpath" />
    <!-- just to support foreach by ant -->
    <taskdef resource="net/sf/antcontrib/antcontrib.properties" >
    <classpath>
    <pathelement location="./libs/ant-contrib-20020829.jar" />
    </classpath>
    </taskdef>
    <!-- use this config to generate html report; if not, may not display Min/Max Time in html-->
    <path id="xslt.classpath">
    <fileset dir="./libs" includes="xalan-2.7.1.jar"/>
    <fileset dir="./libs" includes="serializer-2.9.1.jar"/>
    </path>
    <!--運行之前首先創(chuàng)建臨時結果文件夾-->
    <target name="create-folder">
    <delete dir="${resultBase}/temp"/>
    <mkdir dir="${resultBase}/temp/${results.jtl}" />
    <mkdir dir="${resultBase}/temp/${results.html}" />
    </target>
    <target name="all-test" depends="create-folder">
    <foreach  param="jmxfile" target="test" >
    <fileset dir="${jmxs.dir}">
    <include name="*.jmx" />
    </fileset>
    </foreach>
    </target>
    <target name="test" >
    <basename property="jmx.filename" file="${jmxfile}" suffix=".jmx"/>
    <echo message="---------- Processing ${jmxfile} -----------"/>
    <echo message="resultlogdir===${resultBase}/temp/${results.jtl}"/>
    <jmeter jmeterhome="${jmeter-home}" resultlogdir="${resultBase}/temp/${results.jtl}" runremote="${runremote}" resultlog="${jmx.filename}.jtl"
    testplan="${jmxs.dir}/${jmx.filename}.jmx">
    <jvmarg value="-Xincgc"/>
    <jvmarg value="-Xms1024m"/>
    <jvmarg value="-Xm1024m"/>
    </jmeter>
    <sleep seconds="20"></sleep>
    <!--Generate html report-->
    <xslt   in="${resultBase}/temp/${results.jtl}/${jmx.filename}.jtl"
    out="${resultBase}/temp/${results.html}/${jmx.filename}.html"  classpathref="xslt.classpath"
    style="${jmeter-home}/extras/jmeter-results-report_21.xsl" >
    <param name="dateReport" expression="${report.datestamp}"/>
    <param name="showData" expression="n"/>
    <param name="titleReport" expression="${report.title}:[${jmx.filename}]"/>
    </xslt>
    <echo message="Sleep ${interval-time-in-seconds} Seconds, and then start next Test; Please waiting ......"/>
    <sleep seconds="${interval-time-in-seconds}"></sleep>
    </target>
    <target name="copy-images" depends="all-test">
    <copy file="${jmeter-home}/extras/expand.png" tofile="${results.html}/expand.png"/>
    <copy file="${jmeter-home}/extras/collapse.png" tofile="${results.html}/collapse.png"/>
    <copydir src="${resultBase}/temp" dest="${resultBase}/${report.datestamp}"/>
    <delete dir="${resultBase}/temp"/>
    </target>
    <target name="all" depends="all-test, copy-images" />
    </project>
      jmxs文件夾存放jmeter腳本,ant會順序執(zhí)行其中的腳本,執(zhí)行結果會放在results文件夾中,包含統(tǒng)計的html文件和jmeter的請求詳細jtl文件。
      最后和jenkins集成,搭建jenkins環(huán)境,安裝Performance Plugin插件,新建一個job,選擇目標機器(機器上要有ant),填好svn或者cvs、定時執(zhí)行、構建命令等。在Add post-build action中可以添加一個Publish Performance test result report用來收集jmeter測試結果,選擇就meter,然后在Report files中填寫**/*.jtl即可。

    posted on 2014-11-26 14:22 順其自然EVO 閱讀(2163) 評論(0)  編輯  收藏 所屬分類: 測試學習專欄 、性能測試

    <2014年11月>
    2627282930311
    2345678
    9101112131415
    16171819202122
    23242526272829
    30123456

    導航

    統(tǒng)計

    常用鏈接

    留言簿(55)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 九九美女网站免费| 成人免费一区二区三区| 2021国产精品成人免费视频| 亚洲精品国产精品乱码在线观看| 成人A毛片免费观看网站| 国产亚洲精品AA片在线观看不加载 | 亚洲AV无码一区二区一二区| 老牛精品亚洲成av人片| 精品久久洲久久久久护士免费| 亚洲精品无码av片| 高清国语自产拍免费视频国产 | 国产一区二区三区免费在线观看| 亚洲人成电影院在线观看| 97人妻无码一区二区精品免费| 亚洲日韩国产精品无码av| 成人A级毛片免费观看AV网站| 亚洲色偷偷色噜噜狠狠99| 国产免费观看黄AV片| 女人裸身j部免费视频无遮挡| 国产啪亚洲国产精品无码| 国产在线播放线91免费| 久久综合图区亚洲综合图区| 亚洲日本成本人观看| 国产精品成人免费综合| 亚洲高清资源在线观看| 国产在线观看免费观看不卡 | 亚洲午夜电影一区二区三区| 大地资源在线观看免费高清| 国产亚洲蜜芽精品久久| 国产亚洲成人在线播放va| 69视频在线是免费观看| 亚洲一区二区观看播放| 久久久久久A亚洲欧洲AV冫| 3344永久在线观看视频免费首页 | 国产精品成人免费综合| 国产无遮挡又黄又爽免费网站| 久久精品亚洲综合| 好男人看视频免费2019中文 | 114级毛片免费观看| 色偷偷噜噜噜亚洲男人| 伊人久久大香线蕉亚洲|