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