<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>
    <!--運行之前首先創建臨時結果文件夾-->
    <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會順序執行其中的腳本,執行結果會放在results文件夾中,包含統計的html文件和jmeter的請求詳細jtl文件。
      最后和jenkins集成,搭建jenkins環境,安裝Performance Plugin插件,新建一個job,選擇目標機器(機器上要有ant),填好svn或者cvs、定時執行、構建命令等。在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

    導航

    統計

    常用鏈接

    留言簿(55)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 69堂人成无码免费视频果冻传媒| 一级一黄在线观看视频免费| 毛片在线全部免费观看| 国产精品亚洲精品日韩已方| 美女露隐私全部免费直播| 日本一道一区二区免费看| 亚洲av无码成人精品区一本二本| 成人午夜性A级毛片免费| 亚洲国产aⅴ成人精品无吗| 国产色爽免费视频| 边摸边脱吃奶边高潮视频免费| 午夜亚洲国产成人不卡在线| 一级特黄特色的免费大片视频| 精品国产人成亚洲区| 9久热这里只有精品免费| 亚洲AV日韩精品久久久久久| 久久免费国产视频| 亚洲免费视频观看| 韩国二级毛片免费播放| 新最免费影视大全在线播放| 亚洲熟女一区二区三区| h视频在线观看免费网站| 亚洲中文字幕乱码熟女在线| 亚洲精品无码成人片在线观看| 香蕉免费在线视频| 2020年亚洲天天爽天天噜| 国产精品国产免费无码专区不卡| 七次郎成人免费线路视频| 亚洲成年轻人电影网站www| 一个人看的www在线观看免费| 羞羞视频免费网站入口| 久久精品亚洲中文字幕无码网站| 国产成人精品久久免费动漫 | 亚洲av无码国产精品色在线看不卡 | 99re6在线视频精品免费下载| 亚洲人成在久久综合网站| 日本一道本高清免费| 人人玩人人添人人澡免费| 中文字幕乱码亚洲无线三区| 国产成人精品久久亚洲| 97免费人妻无码视频|