jenkins+ant+jmeter+郵件發送配置


 

 

 

接口自動化-jmeter+ant+jekins搭建及配置

 

參考文獻:https://blog.csdn.net/miffy2017may/article/details/94026787

1 安裝jmeter,此處不再描述

1.1  下載不再描述

1.2  配置環境變量

JMETER_HOME為 D:\Program Files (x86)\apache-jmeter-2.12;

CLASSPATH為 %JMETER_HOME%\lib;

PATH為%JMETER_HOME%\bin;

1.3  安裝驗證

在命令窗口中輸入jmeter -v回車,能出現jmeter版本則說明配置成功,可以直接在命令窗口輸入jmeter回車后啟動jmeter

 

2 安裝JDK

2.1 下載安裝包,我下載的是最新版jdk 1.8.0_152,官網下載地址是http://www.oracle.com/technetwork/java/javase/downloads/index.html

2.2 配置環境變量

JAVA_HOME 為 C:\Program Files (x86)\Java\jdk1.8.0_152 (注意:java我是默認裝的C盤)

CLASSPATH為  .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;

PATH為  %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

2.3 安裝驗證

在命令窗口中輸入java -version 回車,能出現java版本則說明配置成功

 

3 安裝ant

3.1 安裝包下載

下載地址 http://ant.apache.org/bindownload.cgi,下載后解壓到指定位置即可,我是放在D:\Program Files (x86)\apache-ant-1.9.0,與jmeter放在同一位置

注意:下載最新版也可能導致后面ant run不成功,我之前是下載的apache-ant-1.10.1,遇到問題之后降版本,成功!

3.2 配置環境變量

ANT_HOME 為 D:\Program Files (x86)\apache-ant-1.9.0

CLASSPATH為 %ANT_HOME%\lib;

PATH為%ANT_HOME%\bin;

3.3 安裝驗證

驗證安裝結果,命令行輸入ant -v,出現版本信息則安裝成功

 

4 ant配置jmeter:就是用ant構建命令來調動執行jmeter接口測試,並生成測試報告

4.1 配置庫文件

jmeter extras目錄下的ant-jmeter-1.1.1.jar文件拷貝到ant安裝目錄下的lib文件夾中

 

4.2 配置ant的編譯文件 build.xml

<?xml version="1.0" encoding="UTF-8"?>

 

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

    <tstamp>

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

    </tstamp>

    <!-- 需要改成自己本地的 Jmeter 目錄-->  

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

<!-- 發送給哪些人-->

<property name="mail_to" value="zhuliang840616@163.com,zhuliang5153@dingtalk.com"/>  

    <!-- 抄送給哪些人,多個用逗號隔開/-->

    <!--property name=""/-->

<property name="report.title" value="接口測試報告"/>  

    <!-- jmeter生成jtl格式的結果報告的路徑-->

    <property name="jmeter.result.jtl.dir" value="D:\Jmeter\apache-jmeter-5.1.1\jmeter_test\result_log\jtl" />

    <!-- jmeter生成html格式的結果報告的路徑-->

    <property name="jmeter.result.html.dir" value="D:\Jmeter\apache-jmeter-5.1.1\jmeter_test\result_log\html" />

    <!-- 生成的報告的前綴-->  

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

    <property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}${time}.jtl" />

    <property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}${time}.html" />

    

<!--定義次build.xml要執行全部的任務-->  

    <target name="run">

        <antcall target="test" />

        <antcall target="report" />

<antcall target="mail" />  

    </target>

    

 <!--第一個任務,執行test-->

    <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="D:\Jmeter\apache-jmeter-5.1.1\jmeter_test\script" includes="*.jmx" />

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

        </jmeter>

    </target>

 

  <!--引入外部jar包-->

    <path id="xslt.classpath">

        <fileset dir="${jmeter.home}/lib" includes="xalan*.jar"/>

        <fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/>

    </path>

    

<!--執行第二個任務,生成報告-->

    <target name="report">

        <tstamp><format property="report.datestamp" pattern="yyyy/MM/dd HH:mm"/></tstamp>

        <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="${report.datestamp}"/>

        </xslt>

                <!-- 因為上面生成報告的時候,不會將相關的圖片也一起拷貝至目標目錄,所以,需要手動拷貝 -->

        <copy todir="${jmeter.result.html.dir}">

            <fileset dir="${jmeter.home}/extras">

                <include name="collapse.png" />

                <include name="expand.png" />

            </fileset>

        </copy>

    </target>

 

  <!--將控制台輸出到文本中-->

  <record name="${jmeter.result.html.dir}/${ReportName}${time}.txt" loglevel="info" append="no" action="start"/>

  

 

      <!--執行第三個任務,發送郵件-->

<target name="mail">

<!--讀取輸出的控制台日志文件並寫入郵件正文-->

<loadfile property="email_content" srcFile="${jmeter.result.html.dir}/${ReportName}${time}.txt" encoding="UTF-8"/>

<loadfile property="output" srcFile="${jmeter.result.html.dir}/${ReportName}${time}.html" encoding="UTF-8"/>

  <!-- 此處配置SMTP服務器   POP3授權碼   發送郵箱地址   端口  發送郵箱主題-->

<mail tolist="${mail_to}"  mailhost="smtp.163.com" mailport="25"          

      user="zhuliang840616@163.com"  password="z999999l"  subject="jmeter 測試報告${ReportName}${time}"

 

messagemimetype="text/html">

<from address="zhuliang840616@163.com" />

 

 <fileset dir="${jmeter.result.html.dir}">

 

    <include name="${ReportName}${time}.html"/>

 

   </fileset>

<message>  

  擎天項目接口自動化測試報告

   ${ReportName}${time}

   ${output}

</message>  

</mail>  

</target>  

</project>

 

4.3 配置jmeter.properties文檔

找到jmeter.properties文檔,在jmeter/bin目錄下,打開該文檔並編輯,修改jmeter報告輸出格式為xml:改jmeter.save.saveservice.output_format=csv 為jmeter.save.saveservice.output_format=xml,並去掉前面的注釋符號#

 

 

4.4 驗證配置,執行構建測試

將之前jmeter的腳本保存, 並將build.xml配置文件放在與測試腳本相同的目錄下

 

4.5 執行測試

build.xml所在目錄打開命令窗口(鼠標在空白處按下shift鍵后在右鍵),或者命令行cd到build.xml文件所在目錄,輸入ant run回車,執行測試

 

4.6 查看測試結果報告

在報告輸出存放路徑下查看是否有jtl和html結果報告,存放路徑在build文檔中也有

 

 

5 配置Jenkins,構建持續化集成

5.1 下載安裝包,https://jenkins.io/index.html,安裝過程略

5.2 配置環境變量

JENKINS_HOME 為 D:\Program Files (x86)\jenkins

5.3啟動jenkins

瀏覽器中輸入:http://127.0.0.1:8080/,打開jenkins,配置用戶名、密碼及插件,這里需要配置invoke ant插件、HTML測試報告展示的插件如果插件

 

5.4、新建並配置一個JOB

 

 

 

 

 

 


免責聲明!

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



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