亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.430618.com 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

JMeter是Apache組織的開放源代碼項目,能做接口測試、功能測試和性能測試。它能夠對HTTP和FTP服務器進行壓力和性能測試,也可以對數據庫進行同樣的測試(通過JDBC),還能以多種形式展現測試結果。

然而,在使用JMeter進行測試過程中,不可避免遇到兩個痛點:"運行測試腳本"和"生成測試報告"。前者主要是需要不斷重復運行腳本,且當腳本數量較多或進行并發測試時,JMeter GUI界面容易宕機、卡死等,這種情況下就需要重復使用命令執行腳本;后者則是需要手工整理數據、分析測試結果然后生成測試報告。

接口測試很難嗎?學會JMeter+Ant接口自動化搭建及實踐

 

因此,本文采用JMeter+Ant(一個將軟件編譯、測試、部署等步驟聯系在一起加以自動化的工具)搭建自動化測試環境,用以解決測試過程中的痛點,通過此環境可以實現:

(1)自動重復運行腳本(2)自動生成測試報告(3)自動發送郵件。

大體的邏輯如下:

1、配置build.xml文件,Ant通過XML文件進行構建,通過調用target就可以執行各種task,每個task實現了特定接口對象。因此,通過Ant可以實現批量執行。

2、Ant通過測試結果(jtl文件)構建生成html測試報告,并輸出在指定路徑下,避免了手工整理測試報告。

3、根據build.xml文件中配置的的郵件信息,將HTML測試報告自動發送到指定的郵箱。

JDK安裝

JMeter依賴JAVA環境,故需要先安裝JDK并配置好環境變量。

Java環境變量配置

1、創建JAVA_HOME(JDK安裝目錄)。如:C:Program Files (x86)Javajdk1.8.0_231

2、創建CLASSPATH,.;%JAVA_HOME%lib;%JAVA_HOME%libtools.jar(注意最前面有一點)

3、編輯Path,把值放在最面?%JAVA_HOME%bin;%JAVA_HOME%jrebin;

驗證JDK

CMD命令行輸入java -version,顯示如圖,表示安裝成功。

接口測試很難嗎?學會JMeter+Ant接口自動化搭建及實踐

 

JMeter安裝

下載成功后,解壓縮到建立的文件夾路徑中(如:D:ApacheJMeter)。

JMeter環境變量配置

1、創建JMETER_HOME,填寫JMeter文件所屬路徑(如:D:ApacheJMeter)

2、修改CLASSPATH,添加;%JMETER_HOME%libextApacheJMeter_core.jar%JMETER_HOME%libjorphan.jar;%JMETER_HOME%liblogkit-1.2.jar;

3、修改Path,添加%JMETER_HOME%bin

點擊JMeter目錄下bin文件夾中的jmeter.bat就可以打開JMeter,具體界面如下:

接口測試很難嗎?學會JMeter+Ant接口自動化搭建及實踐

 

添加常用插件

注:官網下載的JMeter不包含一些常用插件。

將plugins-manager-xxx.jar、JMeterPlugins-Extras.jar、JMeterPlugins-Standard.jar和JMeterPlugins-Standard-1.4.0.zip解壓后的jar包放入D:ApacheJMeter目錄下的libext目錄,重啟JMeter。

打開有如下頁面,則成功安裝。

接口測試很難嗎?學會JMeter+Ant接口自動化搭建及實踐

 

JMeter相關配置修改

1、修改默認語言和jvm參數(根據電腦配置進行修改),編輯JMeter.bat如下:

接口測試很難嗎?學會JMeter+Ant接口自動化搭建及實踐

 


接口測試很難嗎?學會JMeter+Ant接口自動化搭建及實踐

 

2、編輯JMeter.peoperties使用第三方模塊生成詳細報告:

接口測試很難嗎?學會JMeter+Ant接口自動化搭建及實踐

 

Ant安裝

下載成功后,解壓Ant壓縮包到建立的文件夾路徑(如:D:ApacheAnt)。

Ant環境變量配置

1、創建ANT_HOME,填寫Ant所屬路徑(如D:ApacheAnt?)

2、修改CLASSPATH,添加;%ANT_HOME%lib

3、修改Path,添加;%ANT_HOME%bin

驗證Ant

CMD命令行輸入ant,如下圖所示表示安裝成功。

接口測試很難嗎?學會JMeter+Ant接口自動化搭建及實踐

 

Ant配置及相關使用操作

1、將D:ApacheJMeterextras下面的ant-jmeter-1.1.1.jar包復制到D:ApacheAntlib目錄下。

2、將jmeter.results.shanhe.me.xsl和jmeter-results-detail-report_21.xsl分別放在D:ApacheJMeterextras目錄下。

3、(發送郵件所需jar包)下載activation-1.1.1.jar、commons-email-1.5.jar和javax.mail.jar放到D: Apacheantlib。

4、在本地任意創建目錄testcases(如:D:testcases),并在其目錄下創建report文件夾和build.xml文件,復制以下內容到build.xml文件中:

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

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

<tstamp>

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

</tstamp>

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

<property name="jmeter.home" value="D:Apachejmeter" />

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

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

<property name="jmeter.result.jtl.dir" value="D:testcasesreport" />

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

<property name="jmeter.result.html.dir" value="D:testcasesreport" />

<!-- zip文件路徑 -->

<property name="zip.dir" value="D:testcases" />

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

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

<!-- 報告名稱 -->

<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" />

<property name="zipname" value="${zip.dir}/${ReportName}${time}.zip" />

<!-- 郵件配置信息 -->

<property name="mail_host" value="smtp.163.com" />

<property name="mail_port" value="465" />

<property name="username" value="[email protected]" />

<property name="password" value="123456789" />

<property name="mail_from" value="[email protected]" />

<property name="mail_to" value="[email protected],[email protected]" />

<property name="mailsubject" value="測試報告" />

<!-- 輸出生成的報告名稱和存放路徑 -->

<echo message="${jmeter.result.jtlName}" />

<echo message="${jmeter.result.htmlName}" />

<echo message="${jmeter.result.html.dir}" />

<echo message="${zip.dir}" />

<echo message="${zipname}" />

<!-- 加載jar包,解決時間顯示問題 -->

<path id="xslt.classpath">

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

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

</path>

<target name="all">

<antcall target="test" />

<antcall target="report" />

<antcall target="summary-report" />

<antcall target="zip" />

<!-- 打包zip -->

<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 將需要執行的jmx寫在includes中 -->

<testplans dir="D:testcases" includes="*.jmx" />

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

<!-- 這里就是jmeter.properties修改的部分 -->

</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.html.dir}/summary-report.html" style="${jmeter.home}/extras/jmeter.results.shanhe.me.xsl">

<!-- 這里是第三方模板,修改jmeter.properties后生成的報告有詳細的請求、響應、錯誤信息等 -->

<param name="Date Report" 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>

<target name="summary-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>

</target>

<!-- zip配置 -->

<target name="zip">

<echo>

打包zip文件

</echo>

<zip destfile="${zipname}" duplicate="preserve">

<zipfileset dir="${jmeter.result.html.dir}" includes="**/*.*" prefix="測試報告" />

</zip>

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

<fileset dir="${zip.dir}">

<include name="*.zip" />

</fileset>

</copy>

</target>

<!-- 配置發送郵件報告 -->

<target name="sendEmail">

<echo>

發送測試報告

</echo>

<loadfile property="email_content" srcFile="${jmeter.result.htmlName}" encoding="UTF-8" />

<mail mailhost="${mail_host}" ssl="true" user="${username}" password="${password}" mailport="${mail_port}" subject="${mailsubject}" messagemimetype="text/html" messagefileinputencoding="UTF-8" tolist="${mail_to}">

<from address="${mail_from}" />

<message charset="UTF-8">

${email_content}

</message>

<!-- 附件 -->

<attachments>

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

<include name="*.zip" />

</fileset>

</attachments>

</mail>

</target>

</project>

5、打開CMD命令行,切換到testcases目錄下執行ant命令;或在testcases目錄編寫ant.bat文件執行,文件內容如下:

@echo

call ant -buildfile build.xml -l logfile

pause

注:執行日志存放在testcase目錄下的logfile文件中。

附:報告及郵件

1、概略報告

接口測試很難嗎?學會JMeter+Ant接口自動化搭建及實踐

 

2、詳細報告

接口測試很難嗎?學會JMeter+Ant接口自動化搭建及實踐

 

3、郵件及附件

接口測試很難嗎?學會JMeter+Ant接口自動化搭建及實踐

分享到:
標簽:接口 測試
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定