jmeter+jenkins+ant 自動構建接口任務(linux)-各種

一、環境準備:

1、JDK(JDK環境變量配置):
http://www.oracle.com/technetwork/java/javase/downloads/index.html

2、Ant:
下載ant並配置ANT_HOME,官網:http://ant.apache.org/
export ANT_HOME=/App/ant/apache-ant-1.10.1


3、Jmeter(下載並解壓到服務器上):
http://jmeter.apache.org/download_jmeter.cgi
export JMETER_HOME=/App/apache-jmeter-jjh-1.0.0

4、Jenkins:

  1. 到官網下載jenkins.war包:http://jenkins-ci.org/
  2. 安裝方法有兩種:
    1. 把下載下來的jenkins.war包放到文件夾下,如C:\jenkins,然後打開命令行窗口並進到該目錄下,執行java -jar jenkens.war命令,當提示:“Jenkins is fully up and running”時,表示啓動成功,這時在瀏覽器窗口輸入:http://localhost:8080/ 就可到jenkins的首頁。
    2. 如果有tomcat,把jenkins.war包放在tomcat的webapps文件夾下,啓動tomcat時會自動啓動jenkins,這時通過http://localhost:8080/jenkins就 可以訪問jenkins的首頁了。

環境變量配置如下:
export JAVA_HOME=/App/java/jdk1.8.0_45
export ANT_HOME=/App/ant/apache-ant-1.10.1
export JMETER_HOME=/App/apache-jmeter-jjh-1.0.0
export PATH=/App/maven/bin/:$JAVA_HOME/bin:$ANT_HOME/bin:$JMETER_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/apr/lib

export JENKINS_HOME=/data1/apps/jenkins

5、將 jmeter的extras目錄中ant-jmeter-1.1.1.jar包,拷貝至ant安裝目錄下的lib目錄中


6、修改Jmeter/bin目錄下jmeter.properties文件:
       jmeter.save.saveservice.output_format=xml  

7、創建一個build.xml文件,並配置build.xml

<?xml version="1.0"?>
<!--
   Licensed to the Apache Software Foundation (ASF) under one or more
   contributor license agreements.  See the NOTICE file distributed with
   this work for additional information regarding copyright ownership.
   The ASF licenses this file to You under the Apache License, Version 2.0
   (the "License"); you may not use this file except in compliance with
   the License.  You may obtain a copy of the License at
    
       http://www.apache.org/licenses/LICENSE-2.0
    
   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.
-->
<project name="ant-jmeter-test" default="run" basedir=".">  
      
    <tstamp>  
        <format property="time" pattern="yyyyMMddhhmm" />  
    </tstamp>  
    <property name="basedirectory" value="/App/apache-jmeter-jjh-1.0.0/extras" />  
    <!-- 需要改成自己本地的 Jmeter 目錄-->    
    <property name="jmeter.home" value="/App/apache-jmeter-jjh-1.0.0" />  
    <!-- jmeter生成jtl格式的結果報告的路徑-->   
    <property name="jmeter.result.jtl.dir" value="${basedirectory}" />  
    <!-- jmeter生成html格式的結果報告的路徑-->  
    <property name="jmeter.result.html.dir" value="${basedirectory}" />  
    <!-- Name of test (without .jmx) -->  
    <property name="test" value="Test"/>  
    <!-- 生成的報告的前綴-->    
    <property name="ReportName" value="TestReport" />  
    <property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${test}.jtl" />  
    <property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${test}.html" />  
      
    <path id="xslt.classpath">  
        <fileset dir="${jmeter.home}/lib" includes="xalan*.jar"/>  
        <fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/>  
    </path>  
      
    <target name="run">  
        <antcall target="test" />  
        <antcall target="report" />  
    </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="${basedirectory}" includes="*.jmx" />  
        </jmeter>  
    </target>  
          
    <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-shanhe-me.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>  
      
</project> 
8、進入extras目錄下,執行ant,如下:



9、集成jenkins
1)使用工作空間


2)構建觸發器
*/1 * * * *


3) 構建前先執行shell,清除歷史的構建

#!/bin/bash
rm -f Test.html
rm -f Test.jtl

4)配置ant

5)構建後操作

6)配置jmeter相關參數

7)配置釘釘

8)配置郵箱,注意:郵箱要以空格隔開,否則發不成功;配置的郵箱發件人和收件人,最好不要爲同一個人
可以選擇每次構建不穩定時,發郵件。jenkins在構建失敗後,會一直髮郵件,構建成功後,還會發一封郵件,告知構建成功

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章