1. 程式人生 > >jmeter測試介面,跟jenkins整合實現自動推送郵件報告

jmeter測試介面,跟jenkins整合實現自動推送郵件報告

jmeter我之前沒用過,後來學習測試api,發現很方便,因而做一個記錄。

在mac上安裝jmeter,首先需要在官網下載安裝外掛,然後配置環境,為了實現跟jenkins整合,也下載了ant。環境搭建好以後,應該是這樣的狀態。

export ANDROID_HOME=/Users/yq519/Desktop/IOS/android-sdk-macosx
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH
export PATH=$ANDROID_HOME/tools:$PATH
export PATH=$ANDROID_HOME/platform-tools:$PATH
export PATH=/Applications/Appium.app/Contents/Resources/node_modules/appium/bin:$PATH
export PATH=/Users/yq519/Desktop/介面效能測試/gatling/bin:$PATH
export SCALA_HOME=/Users/yq519/Documents/scala-2.11.7
export PATH=$SCALA_HOME/bin:$PATH
export PATH=/Users/yq519/Documents/apache-jmeter-2.12/bin/:$PATH
export PATH=/Users/yq519/Documents/apache-ant-1.9.6/bin/:$PATH
export PATH=/Users/yq519/jython2.7.0/bin:$PATH
export VERSIONER_PYTHON_PREFER_32_BIT=yes

1、新建測試計劃

2、新建執行緒組

3、新建Http請求

4、新建斷言 [email protected] Path Assertion


5、新建後置處理器 [email protected] -JSON Path Extractor,並且加上響應斷言

這個時候,會在桌面生成一個test.jmx的檔案,執行的結果是在察看結果樹裡面可以察看。

這個時候需要考慮到在jenkins整合的問題。該如何解決呢?

1、首先需要安裝jenkins,配置jenkins環境,輸入localhost:8080,能夠啟動jenkins。

2、在jenkins裡面新增一個專案。

3、用ant配置test.xml檔案,然後用ant命令執行,並出報告。報告形式可以自定義。附上.xml檔案的寫法

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

<project name="ant-jmeter-test" default="all" basedir=".">
    <tstamp>
        <format property="time" pattern="yyyyMMddhhmm" />
    </tstamp>
    
    <property name="jmeter.home" value="/Users/yq519/Documents/apache-jmeter-2.12" />
   
    <property name="jmeter.result.jtl.dir" value="/Users/yq519/Desktop/Jmeter_Test_Report/" />
    
    <property name="jmeter.result.html.dir" value="/Users/yq519/Desktop/Jmeter_Test_Report/" />
   
     <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}.html" />
     
     <target name="all">
     <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}">
     
    <testplans dir="/Users/yq519/Documents/jmeter/test_case/" includes="*.jmx" />
</jmeter>
</target>

<target name="report">
    <xslt in="${jmeter.result.jtlName}"
    out="${jmeter.result.htmlName}"
    style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl" />
    
  
    <copy todir="${jmeter.result.html.dir}">
        <fileset dir="${jmeter.home}/extras">
            <include name="collapse.png" />
            <include name="expand.png" />
        </fileset>
    </copy>
</target>
</project>

用ant 命令執行 /Users/yq519/Documents/apache-ant-1.9.6/bin/ant -buildfile /Users/yq519/Documents/apache-ant-1.9.6/test00.xml。

這樣就可以實現自動化jenkins推送測試報告。