centos7搭建ANT+jmeter+jenkins接口測試自動化環境

 

1、環境準備

由於用到了jmeter和apache-tomcat,centos7必需要有java環境,因此配置jdk和apache-tomcat什麼的,就很少說了,自行操做html

幫大家偷懶:java

ant下載地址:http://mirrors.hust.edu.cn/apache//ant/binaries/apache-ant-1.10.3-bin.tar.gzgit

jmeter下載地址:http://mirror.bit.edu.cn/apache//jmeter/binaries/apache-jmeter-4.0.tgzgithub

jenkins war包下載地址:https://mirrors.tuna.tsinghua.edu.cn/jenkins/war/latest/jenkins.warweb

javamail.jar下載地址:https://github.com/javaee/javamail/releasesexpress

 

commons-email.jar下載地址:http://central.maven.org/maven2/org/apache/commons/commons-email/1.5/commons-email-1.5.jarapache

activation.jar下載地址:http://central.maven.org/maven2/javax/activation/activation/1.1.1/activation-1.1.1.jarwindows

2、配置ant

若是軟件是下載到windows的,能夠經過xftp、winscp等工具上傳到centos7,我上傳到/home目錄下的。centos

進入到home目錄,並解壓ant壓縮包瀏覽器

[root@localhost /]# cd /home/
[root@localhost home]# tar -zxvf apache-ant-1.10.3-bin.tar.gz

打開配置文件

[root@localhost home]# vi /etc/profile 

在文件最後添加ant環境 ,並把ant環境添加到path中(「$ANT_HOME/bin:」)  

export ANT_HOME=/home/apache-ant-1.10.3

export PATH=$JAVA_HOME/bin:$ANT_HOME/bin:$PATH

保存退出  

:wq

強制更新配置文件

[root@localhost home]# source /etc/profile

驗證配置是否正確

[root@localhost home]# ant -version

若是出現這種,就說明配置成功

Apache Ant(TM) version 1.10.3 compiled on March 24 2018

3、配置build文件

首先解壓jmeter壓縮包

[root@localhost home]# tar -zxvf apache-jmeter-4.0.tgz

將/apache-jmeter-4.0/extras下面的ant-jmeter-1.1.1的jar包到ant的lib目錄

[root@localhost home]# cp /home/apache-jmeter-4.0/extras/ant-jmeter-1.1.1.jar /home/apache-ant-1.10.3/lib/

進入/apache-jmeter-4.0/並新建一個文件夾work

[root@localhost home]# cd /home/apache-jmeter-4.0/
[root@localhost apache-jmeter-4.0]# mkdir work

修改文件夾work的權限

[root@localhost apache-jmeter-4.0]# chmod 777 work

進入work目錄,新建一個report文件夾,用來保存報告

[root@localhost apache-jmeter-4.0]# cd work/

[root@localhost work]# mkdir report

[root@localhost work]# chmod 777 report

新建build.xml文件

將下面的內容拷貝進build.xml裏面,jmeter目錄和郵件參數等須要自行修改

<?xml version="1.0" encoding="UTF-8"?>  
<!-- 此文檔爲ant+jmter自動化測試及發送郵件的配置文件 -->  
<project name="ant-jmeter-test" default="run" basedir=".">  
    <tstamp>  
    <format property="datestamp" pattern="yyyy/MM/dd HH:mm" />  
</tstamp>  
    <!-- 須要改爲本身本地的 Jmeter 目錄-->    
    <property name="jmeter.home" value="/home/apache-jmeter-4.0" />  
    <!-- 本地項目工程目錄-->    
    <property name="location" value="/home/apache-jmeter-4.0/work"/>  
    <property name="report.title" value="接口測試"/>  
    <!-- jmeter生成jtl格式的結果報告的路徑-->   
    <property name="jmeter.result.jtl.dir" value="${location}/report" />  
    <!-- jmeter生成html格式的結果報告的路徑-->  
    <property name="jmeter.result.html.dir" value="${location}/report" />  
    <!-- jmeter生成csv格式的結果報告的路徑-->    
    <property name="jmeter.result.csv.dir" value="${location}/report" />    
    <!-- 生成的報告的前綴-->    
    <property name="ReportName" value="TestReport" />  
    <property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}.jtl" />  
    <property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}.html" />  
    <property name="jmeter.result.csvName" value="${jmeter.result.csv.dir}/${ReportName}.csv" />  
  
  
    <target name="run">  
        <antcall target="test" />  
        <antcall target="report" />   
<antcall target="sendEmail" />  
    </target>  
      
    <target name="test">  
        <taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" />  
        <jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}">  
            <!-- 聲明要運行的腳本"*.jmx"指包含此目錄下的全部jmeter腳本-->  
            <testplans dir="${location}" includes="*.jmx" />  
            <property name="jmeter.save.saveservice.assertion_results" value="run"/>  
            <property name="jmeter.save.saveservice.output_format" value="xml"/>  
        </jmeter>  
    </target>  
          
    <path id="xslt.classpath">  
        <fileset dir="${jmeter.home}/lib" includes="xalan*.jar"/>  
        <fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/>  
    </path>  
  
    <target name="report">  
        <xslt   
              classpathref="xslt.classpath"  
              force="true"  
              in="${jmeter.result.jtlName}"  
              out="${jmeter.result.htmlName}"  
              style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl">  
              <param name="dateReport" expression="${datestamp}"/>  
       </xslt>  
      <!-- 由於上面生成報告的時候,不會將相關的圖片也一塊兒拷貝至目標目錄,因此,須要手動拷貝 -->   
        <copy todir="${jmeter.result.html.dir}">  
            <fileset dir="${jmeter.home}/extras">  
                <include name="collapse.png" />  
                <include name="expand.png" />  
            </fileset>  
        </copy>  
    </target>  
  
<target name="sendEmail">   
        <mail mailhost="smtp.163.com" mailport="25" user="發件人郵箱"  password="發件人郵箱的smtp受權碼" ssl="false"  from="發件人郵箱" subject="郵件主題" messagemimetype="text/html" tolist="收件人,多個收件人用逗號隔開">   
            <fileset dir="${location}/report">   
                <include name="${ReportName}.html"/>   
                <include name="*.png"/>  
            </fileset>    
            <message charset="gb2312">郵件正文</message>   
        </mail>   
     </target>   
</project>  

 修改好後,保存

:wq

4、運行腳本

修改jmeter的bin目錄下的jmeter.properties文件的配置

在vi頁面輸入/output,回車

將csv改爲xml,並將前面的註釋去掉

esc後保存文檔

:wq

用工具將本地的3個jar包上傳到ant的lib文件夾下,將本地的jmx文件上傳到/home/apache-jmeter-4.0/work目錄下

 

進入/home/apache-jmeter-4.0/work

輸入ant,若是出現如下代碼,則表明成功。若是失敗,則檢查jar包位置是否正確,或者郵件參數是否配置正確。

 5、部署到持續集成平臺jenkins

1.安裝jenkins

將jenkins的war包用工具上傳到/apache-tomcat-9.0.7/webapps/目錄下

在本地打開瀏覽器,在瀏覽器輸入http://centos7的IP:8080/jenkins,便可進行安裝

若是報錯,需檢查tomcat是否運行,centos7防火牆是否關閉,或者端口是否在防火牆白名單,具體操做,就很少說,自行操做

安裝成功後,註冊,登陸

二、配置全局環境

進入系統管理-全局工具配置頁面,配置jdk和ant,輸入centos7 的環境配置後,點擊apply,而後點擊save。

注意:別名最好帶上版本號,避免出錯;Home路徑,最好不要包含空格,避免報錯(我編譯失敗了10屢次,弄了一下午,才發現是全局環境沒有配置- -!)

3.新建項目

點擊新建任務,在打開的頁面點擊第一個軟件項目,輸入任務名稱,而後點擊肯定

配置構建觸發器

第一個參數表明的是分鐘 minute,取值 0~59;

第二個參數表明的是小時 hour,取值 0~23;

第三個參數表明的是天 day,取值 1~31;

第四個參數表明的是月 month,取值 1~12;

最後一個參數表明的是星期 week,取值 0~7,0 和 7 都是表示星期天 特殊格式;

* 指全部有效的值;M-N 指定值的範圍 ;M-N/ X 或*/ X 是指以X 爲步長,指定的區域或整個有效範圍區間的值 A,B,...,Z

列舉多個值 eg.

H/15 * * * * 每十五分鐘執行一次 H(0-29)/10 * * * * 每小時的0-29 份內每隔十分鐘執行一次

H 9-16/2 * * 1-5 每一個工做日的9-16 點內每隔兩小時執行一次

H H 1,15 1-11 * 1-11 月的每個月1號和15 號各執行一次

配置構建環境,勾選with Ant,從下拉列表選擇ant和jdk的版本

 

 配置構建,從下拉列表選擇ant的版本,在buil file欄輸入build.xml文件的絕對路徑,如/home/apache-jmeter-4.0/work/build.xml

而後點擊應用,點擊保存,

4.構建項目

在主頁,點擊項目後的圖標,便可開始構建

 

 

5.查看控制檯日誌

 ps:附上報了一下午的錯誤。。。。

jenkins配置jdk環境,多了一個空格致使失敗。。。。

相關文章
相關標籤/搜索