Jenkins+Ant+Jmeter接口自動化集成測試實例

1、Jenkins安裝配置

一、安裝配置JDK1.6+環境變量;html

二、下載jenkins.war,放入C:\jenkins目錄下,目錄位置隨意;java

         Jenkins啓動方法:web

         cmd進入Jenkins目錄下,執行java -jar jenkins.warapache

         瀏覽器輸入:localhost:8080能夠訪問Jenkins表示配置成功;瀏覽器

2、Ant安裝配置

一、下載apache-ant-1.9.6;放入E盤,如E:\apache-ant-1.9.6,目錄位置隨意tomcat

二、配置環境變量:測試

ANT_HOME    E:\apache-ant-1.9.6ui

path          E:\apache-ant-1.9.6spa

classpath      E:\apache-ant-1.9.6debug

三、驗證Ant配置是否成功;

cmd下輸入Ant提示以下表示配置成功:

Buildfile: build.xml does not exist!

Build failed

3、配置xml文件

一、Jmeter目錄位置:D:\tools\apache-jmeter-2.11,在jmeter中創建demo文件夾,demo中建立build.xml文件,須要配置Jmeter目錄、生成報告的路徑,報告的格式和腳本目錄,內容以下:

<?xml version="1.0" encoding="UTF8"?>

<project name="ant-jmeter-test" default="run" basedir=".">

    <tstamp>

        <format property="time" pattern="yyyyMMddhhmm" />

    </tstamp>

    <property environment="env"/>

    <property name="ReportName" value="TestReport" />

<!-- 本地的 Jmeter 目錄-->

    <property name="jmeter.home" value="D:\tools\apache-jmeter-2.11" />

<!-- jmeter生成報告的路徑-->

    <property name="jmeter.result.dir" value="${env.WORKSPACE}/results/${env.BUILD_ID}" />

<!-- 生成jtl、html格式的報告,以構建ID命名-->

    <property name="jmeter.result.jtlName" value="${env.WORKSPACE}/results/${env.BUILD_ID}/${env.BUILD_ID}.jtl" />

    <property name="jmeter.result.htmlName" value="${env.WORKSPACE}/results/${env.BUILD_ID}/${env.BUILD_ID}.html" />

    <target name="run">

        <echo message="start..."/>

        <antcall target="clean" />                      

        <antcall target="test" />

        <antcall target="report" />

    </target>

    <target name="clean">

        <mkdir dir="${env.WORKSPACE}/results/${env.BUILD_ID}" />

    </target>

    <target name="test">

        <taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" />

        <jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}">

<!-- 聲明要運行的腳本和此目錄下的jmeter腳本-->

            <testplans dir="D:\tools\apache-jmeter-2.11\demo" includes="login.jmx" />

            <property name="jmeter.save.saveservice.output_format" value="xml"/>

        </jmeter>

    </target>

    <target name="report">

        <xslt in="${jmeter.result.jtlName}"

              out="${jmeter.result.htmlName}"

              style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl" />

    </target>

</project>

其中${env.WORKSPACE}/results/${env.BUILD_ID}/${env.BUILD_ID}.jtl和

${env.WORKSPACE}/results/${env.BUILD_ID}/${env.BUILD_ID}.html生成的報告位置在:

C:\Users\Administrator\.jenkins\jobs\test\workspace\results目錄下,每次進行Jenkins構建的時候,都會生成一個新的構建編號目錄和結果報告;

二、將jmeter測試腳本放入demo目錄下,固然放入其餘位置也能夠,build.xml中須要配置jmeter腳本存放路徑的對應位置。

4、構建Jenkins項目

一、啓動Jenkins,瀏覽器輸入localhost:8080進入管理界面,點擊新建;

二、輸入項目名稱:Test_demo,選擇構建一個自由風格的軟件項目,點擊OK;

三、勾選丟棄舊的構建,配置以下:

四、構建,增長構建步驟選擇Invoke Ant,Targets輸入run,點擊高級,Build File輸入build.xml文件路徑,保存;

五、返回主頁能夠看到新建的項目,點擊構建便可啓動測試;

六、左側能夠看到啓動狀態及構建編號;

七、進入構建編號目錄C:\Users\Administrator\.jenkins\jobs\Test_demo\workspace\results\60下便可查看jmeter腳本運行的報告;

5、使用Tomcat查看測試結果:

一、修改build.xml文件html報告生成的路徑,report文件在demo路徑下,修改以下:

<property name="jmeter.result.htmlName" value="report/report.html" />

二、配置爲tomcat的虛擬目錄

         a、配置server.xml

    打開Tomcat目錄下的/conf/server.xml文件,在Host標籤之間加入下面內容。

<Context path="/test/report" docBase="/test/report " reloadable="true" debug="0"/>

    path:工程名稱+文件路徑,當訪問path目錄下的文件時,實則訪問docBase目錄下的文件。

    docBase:文件的真實路徑。注意這裏若是有文件長傳,則將上傳的文件路徑設置爲docBase,而不是path。

         b、修改tomcat端口

         Tomcat端口8080已經被Jenkins佔用,則須要修改端口,打開Tomcat目錄下的/conf/server.xml文件,將connector port修改爲8088

<Connector port="8088" protocol="HTTP/1.1"

               connectionTimeout="20000"

               redirectPort="8443" /

         c、配置web.xml

  打開Tomcat目錄下的/conf/web.xml,將listings的屬性設置爲True。

<servlet>

        <init-param>

            <param-name>listings</param-name>

            <param-value>true</param-value>

        </init-param>

        <load-on-startup>1</load-on-startup>

    </servlet>

訪問localhost:8088/report便可訪問結果報告。

固然Jenkins的功能遠不止這些,還有不少強大的地方等着你去發現。

相關文章
相關標籤/搜索