1. 程式人生 > >selenium+ant+jenkins整合自動化測試環境搭建

selenium+ant+jenkins整合自動化測試環境搭建

上一篇文章(https://mp.csdn.net/postedit/82388339),主要分享的是selenium自動化測試基本的測試環境的搭建,能夠正常的在eclipse中編寫用例和執行用例。

實際工作中,我們的自動化指令碼基本都是下班時無人值守執行,執行完成之後,並將執行結果以郵件的方式傳送,很顯然,我們手動執行Testng.xml已經不能滿足需求。

因此,我們需要引入Ant,首先介紹一下ant,ant是一個流程指令碼引擎,用於自動化呼叫程式完成專案的編譯,打包,測試等,主要以指令碼檔案形式體現,檔案的名稱一般是build.xml。

同時,我們無人值守時,需要執行ant,因此需要藉助jenkins自動打包工具,利用jenkins定時任務功能自動執行ant(也可以手動執行),然後利用jenkins的傳送郵件功能,將執行結果傳送給需要接受的郵箱

1.Ant安裝與配置

1)下載ant,可以直接在網上搜索即可,這裡不多加贅述,下載好之後安裝即可。

2)ant環境變數的配置

  • 新建一個系統變數,變數值就是你的ant安裝後的檔案路徑,見下圖

  • 系統變數-path中加入%ANT_HOME%\bin,如下圖

  • 然後儲存,開啟cmd,輸入ant -version,如果顯示出了版本號,就說明ok-ant配置完成了,如下圖

3)準備build.xml檔案

<?xml version="1.0" encoding="UTF-8"?>
<project name="testproject" default="run" basedir=".">
    <echo  message="import libs" />
    <path id="run.classpath">
		<fileset dir="${basedir}/lib">
            <include name="*.jar" />
        </fileset>
    </path>
    <taskdef name="testng" classname="org.testng.TestNGAntTask" classpathref="run.classpath" />
    <target name="clean">
        <delete dir="build"/>
    </target>
    <target name="compile" depends="clean">
        <echo message="mkdir"/>
        <mkdir dir="build/classes"/>
        <javac srcdir="src" destdir="build/classes" debug="on" includeantruntime="on">
            <classpath refid="run.classpath"/>
        </javac>
    </target>
    <path id="runpath"> 
         <path refid="run.classpath"/> 
         <pathelement location="build/classes"/> 
       </path> 
    <target name="run" depends="compile">
        <testng  classpathref="runpath"  outputDir="test-output">
            <xmlfileset dir="${basedir}" includes="testng.xml"/>
            <jvmarg value="-ea" />
        </testng>
    </target>
</project>

其中,這個是當前自動化測試工程名,

<project name="testproject" default="run" basedir=".">

以下是jar包在工程檔案的位置,我的所有jar包都在“工程檔案->lib”下面直接放的


		<fileset dir="${basedir}/lib">
            <include name="*.jar" />
        </fileset>

bulid.xml就可以直接拿來用,只需要將以上兩處根據自己的工程情況修改一下即可。

這樣子,ant就配置好了,在eclipse可以直接執行build.xml也可以將測試用例執行。

2.jenkins的安裝與配置

直接在網上下載jenkins就好,下載好之後,點選“推薦安裝”就好

安裝好之後,直接開啟瀏覽器輸入127.0.0.1:8080即進入jenkins頁面,如下圖

我這個是已經安裝好的jenkins,安裝jenkins按照指引操作就好,裝好之後我們就進行一些配置

在配置之前,我們需要給jenkins安裝一些外掛:Ant Plugin 、Email Extension 、HTML Publisher plugin,以保證我們的自動化能夠正常的執行和測試結果能夠生成html測試報告併發送

點選系統管理->外掛管理,在“可選外掛”頁籤中,找到這幾個外掛並直接安裝就好,安裝好之後我們就可以進行系統的設定了

1)系統設定

  • 點選系統管理->系統設定,進入到這個頁面,編輯全域性屬性

  • 編輯系統管理員的郵箱地址

  • 設定自動傳送郵件的發件人的郵箱,保證可以將測試的結果傳送給需要接受郵件的人

  • 設定郵件通知,和上一步一樣

系統設定就可以完成了

點選【應用】,並【儲存】,系統設定就可以了

2)專案設定

一個jenkins可以設定很多的專案,首先,為該專案的自動化新建一個檢視,並配置該檢視

  • 新建專案試圖

編輯專案名稱,並儲存就可以了

  • 設定專案

點選新建好的專案,點選【配置】如下圖

接下來,需要配置該自動化工程檔案的build.xml,如下圖

然後需要配置報告的路徑和格式,如下圖

然後編輯接收郵件的地址和郵件的格式(其中,郵件格式裡面需要顯示自動化執行的結果),如下圖

我將自己的郵件內容寫出來,如下圖,可供參考,其中,xxx要根據自己的實際情況修改

<!DOCTYPE html>  
<html>  
<head>  
<meta charset="UTF-8">  
<title>${ENV, var="JOB_NAME"}-第${BUILD_NUMBER}次構建日誌</title>  
</head>  

<body leftmargin="8" marginwidth="0" topmargin="8" marginheight="4"  
    offset="0">  
    <div>
    <table width="95%" cellpadding="0" cellspacing="0" 
        style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif;"> 

        <tr>
            <th align="center" colspan="2"><br />
                <h2>構建資訊</h2> 
            </th>
        </tr>
        <tr>  
            <td>  
                <ul>  
                    <li>專案名稱 : ${PROJECT_NAME}</li><br />                   
                    <li>觸發原因: ${CAUSE}</li><br />  
                    <li>測試地址 : <a href="http://xxxxxx/">xxxx測試地址</a></li><br />                  
                </ul>  
            </td> 
            <td>${JELLY_SCRIPT,template="html"}<br/> 
        </tr>  

        <tr>  
            <td colspan="2" align="center"><br />
            <h2>測試報告</h2>
            </td>  
        </tr>

        <tr>
            <td colspan="2" align="center">
                <div>${FILE ,path="E:/xxxx/test-output/emailable-report.html"}</div>
            </td>
        </tr>

    </table> 
    </div>

  </body>  
</html>

完成以上的基本操作,我們的自動化就可以自動執行了,當然我們也可以如下圖點選,進行手動執行

以下就是執行成功後的測試結果,如下圖