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


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

一、Jenkins安裝配置

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

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

         Jenkins啟動方法:

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

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

二、Ant安裝配置

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

2、配置環境變量:

ANT_HOME    E:\apache-ant-1.9.6

path          E:\apache-ant-1.9.6

classpath      E:\apache-ant-1.9.6

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

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

Buildfile: build.xml does not exist!

Build failed

三、配置xml文件

1、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構建的時候,都會生成一個新的構建編號目錄和結果報告;

 

2、將jmeter測試腳本放入demo目錄下,當然放入其他位置也可以,build.xml中需要配置jmeter腳本存放路徑的對應位置。

 

四、構建Jenkins項目

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

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

 

3、勾選丟棄舊的構建,配置如下:

 

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

 

5、返回主頁可以看到新建的項目,點擊構建即可啟動測試;

 

6、左側可以看到啟動狀態及構建編號;

 

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

 

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

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

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

2、配置為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的功能遠不止這些,還有很多強大的地方等着你去發現。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM