Jmeter(一) - 從入門到精通 - 環境搭建(詳解教程)

1.JMeter 介紹

     Apache JMeter是100%純JAVA桌面應用程序,被設計爲用於測試客戶端/服務端結構的軟件(例如web應用程序)。它可以用來測試靜態和動態資源的性能,例如:靜態文件,Java Servlet,CGI Scripts,Java Object,數據庫和FTP服務器等等。JMeter可用於模擬大量負載來測試一臺服務器,網絡或者對象的健壯性或者分析不同負載下的整體性能。
     同時,JMeter可以幫助你對你的應用程序進行迴歸測試。通過你創建的測試腳本和assertions來驗證你的程序返回了所期待的值。爲了更高的適應性,JMeter允許調用二次開發的jar包來豐富你的測試場景;JMeter允許你使用正則表達式來創建這些assertions.

2.JMeter與LoadRunner比較

JMeter 是一款開源(有着典型開源工具特點:界面不美觀)測試工具,雖然與LoadRunner相比有很多不足,比如:它結果分析能力沒有LoadRunner詳細;很它的優點也有很多:

  • 開源,他是一款開源的免費軟件,使用它你不需要支付任何費用,
  • 小巧,相比LR的龐大(最新LR11將近4GB),它非常小巧,不需要安裝,但需要JDK環境,因爲它是使用java開發的工具。
  • 功能強大,jmeter設計之初只是一個簡單的web性能測試工具,但經過不段的更新擴展,現在可以完成數據庫、FTP、LDAP、WebService等方面的測試。因爲它的開源性,當然你也可以根據自己的需求擴展它的功能。擴展性極強。它可以測試性能,可以測試接口,甚至可以通過加載瀏覽器驅動完成UI自動化的工作!

 兩者最大的區別:jmeter不支持IP欺騙,而LR支持。

  從上邊來看Jmeter是好處多多的,但是任何事、任何物都違背不了一個法則,那就是“金無足赤人無完人”,Jmeter也是有不足之處的,下邊我們來看看Jmeter的不足之處,這裏宏哥就不深究它到底是孃胎裏帶來的還是後天造成的了,一般對於軟件來說都是孃胎裏帶來的,先天不足。原因是:開發的時候可能由於某些原因考慮不足,導致其孃胎裏帶病。

3.JMeter缺點

  使用JMeter無法驗證JS程序,也無法驗證頁面UI,所以要須要和Selenium配合來完成Web2.0應用的測試。

4.下載安裝

4.1JMeter安裝

1.http://jmeter.apache.org/下載最新版本的JMeter,解壓文件到任意目錄

2.安裝JDK,配置環境變量JAVA_HOME

  JDK環境變量配置傳送門

3.系統要求:JMeter2.11 需要JDK1.6以上的版本支持運行

4.JMeter可以運行在如下操作系統上:Unix,Windows和Open VMS.

5.應當避免jdk路徑與jmeter路徑有中文和空格,否則會有異常,也會導致遠程測試出現問題。

4.2JMeter插件安裝

1. 插件下載地址: http://jmeter-plugins.org/downloads/all/

2. 插件下載後解壓:找到JMeterPlugins-Extras.jar,把JMeterPlugins-Extras.jar放到apache-jmeter-2.12\lib\ext目錄。

5.JMeter運行

5.1JMeter啓動的兩種姿勢

5.1.1啓動姿勢1

進入bin目錄,雙擊運行jmeter.bat啓動jmeter

注意:打開的時候會有兩個窗口,JMeter的命令窗口和JMeter的圖形操作界面,不可以關閉命令窗口。

5.1.2啓動姿勢2

進入bin目錄,雙擊ApacheJmeter.jar包運行

注意:打開的時候會有隻有一個窗口,JMeter的圖形操作界面,和上邊的不一樣哈。

6.JMeter目錄結構解析

6.1根目錄

Jmeter安裝包解壓後的根目錄如下圖:

6.2根目錄說明(由上到下)

(1)backup目錄   腳本備份目錄,裏邊的文件都是以.jmx後綴結尾的文件

  實際開始安裝解壓後是不存在這個目錄的,這個是由於宏哥使用過JMeter後,JMeter自動創建這個目錄,然後備份了腳本文件。

(2)bin目錄  可執行文件目錄
  1. Jmeter.bat:是啓動jmeter的主腳本。
  2. Jmeter-server.bar:是用來實現聯機負載。
  3. Jmeter.properties:是jmeter主要的配置文件,超過80%的配置項都是通過這個文件實現。(PS:修改配置文件後,要重啓Jmeter才能生效)
  Jmeter.bat  打開Jmeter主界面
  Jmeter使用的日誌文件名稱被定義到Jmeter.properties中,默認在Jmeter.log可查看日誌
(3)dosc目錄
  docs目錄下的文件是JMeter的Java Docs,而printable_docs的usermanual子目錄下的內容是JMeter的用戶手冊文檔,其中component_reference.html是最常用到的核心元件幫助文檔。該目錄下存放的是jmeter官方文檔的API文檔,主要是用於二次開發。
(4)extras目錄
  該目錄下的文件提供了對構建工具Ant的支持,可以使用Ant來實現測試自動化,例如批量腳本執行,產生HTML格式的報表,測試運行時,可以把測試數據記錄下來,Jmeter會自動生成一個.jtl文件,將該文件放到extras目錄下,運行“ant -Dtest=文件名 report”,就可以生成測試統計報表。也可以用於持續集成。
(5)lib目錄
  該目錄包含兩個子目錄,其中ext子目錄存放有JMeter的核心jar包,另一個junit子目錄存放JUnit測試腳本。用戶擴展所依賴的包,應該直接放到lib目錄下,而非lib/ext下。
注意:無法識別 zip 格式的包文件,所以需要的包文件均要求以 .jar 結尾
(6)Licenses jmeter 軟件許可文件目錄
(7)printable_docs目錄

  該目錄存放的是jmeter官方提供的幫助文檔。printable_docs的demos子目錄下有一些常用的JMeter腳本案例,可以作爲參考。可打印半版本目錄。

(8)LICENSE JMeter ——許可說明

(9)NOTICE JMeter ——簡單信息說明

(10) README.md ——JMeter 官方基本介紹

6.3打開backup,如下圖:

6.4打開bin,如下圖:

examples:目錄下包含Jmeter使用實例,打開裏面是一個csv樣例

ApacheJMeter.jar:JMeter源碼包

jmeter.bat:windows的啓動文件

jmeter.log:Jmeter運行日誌文件

jmeter.sh:linux的啓動文件

jmeter.properties:系統配置文件

jmeter-server.bat:windows分佈式測試要用到的服務器,啓動負載生成器服務文件

jmeter-server:Linux下啓動負載生成器文件

shutdown.cmd windows 下 jmeter 關閉文件

stoptest.cmd windows 下 jmeter 測試停止文件

6.5打開docs,如下圖:

api:api文件以及css和圖像樣式

6.6打開lib,如下圖:

 此文件夾裏面全是一些jar包

7.JMeter主要配置文件

7.1jmeter.properties配置文件

jmeter.properties,定義jmeter運行的關鍵配置;下邊宏哥列舉了一下這個文件的關鍵配置如下:

#默認語言設置

      language=en

#捕捉cookie開關

      CookieManager.save.cookies=true

#配置編輯器的字體和尺寸

     jsyntaxtextarea.font.family=宋體

     jsyntaxtextarea.font.size=20

#配置默認編碼格式

     sampleresult.default.encoding=UTF-8

#SSL 配置:重點關注下面幾個配置# 指定 HTTPS 協議層  
   # 指定 HTTPS 協議層
   https.default.protocol=TLS
   # 指定 SSL 版本,實際應用中可能需要修改
   https.default.protocol=SSLv3
   # 設置啓動的協議
   https.socket.protocols=SSLv2Hello SSLv3 TLSv1
   # 緩存控制,控制 SSL 是否可以在多個迭代中重用
   https.use.cached.ssl.context=true

#JMeter 測試項目自動備份配置
   # 設置是否啓用自動備份,默認是 true
   jmeter.gui.action.save.backup_on_save=true
   # 設置自動備份目錄,默認備份至 JMeter 根目錄的 backups下
   jmeter.gui.action.save.backup_directory=
   # 設置自動備份項目數,默認爲最近 10 個
   jmeter.gui.action.save.keep_backup_max_count=10

#遠程主機配置
  # 配置遠程主機的 IP,默認爲本機。用逗號","可以設置多個遠程主機
  remote_hosts=127.0.0.1
  # 多個遠程主機指定示例如下,其中:後爲端口
  remote_hosts=127.0.0.1:1099,127.0.0.1:1200,127.0.0.1:1300
  對於 RMID 的配置請直接看配置文件中的選項說明

#日誌管理配置
  # 設置日誌格式
  log_format_type=default
  # 設置日誌輸出級別
  log_level.jmeter=INFO
  # 設置 junit 日誌輸出級別
  log_level.jmeter.junit=DEBUG
  # 設置日誌輸出目標文件,默認爲 jmeter.log
  log_file=jmeter.log

# jmeter.bat 關鍵配置修改
#爲了更優化的使用 jmeter,需要對 jmeter.bat 中的一些配置根據當前機器的配置進行優化,這裏進行關鍵配置項說明,大家根據自己的機器的配置來進行修改。jvm 相關配置,大概在 80 行左右,找到這些配置,對其中的數值根據當前機器的硬件配置來修改。
  set HEAP=-Xms2048m -Xmx2048m
  set NEW=-XX:NewSize=512m -XX:MaxNewSize=512m
  set SURVIVOR=-XX:SurvivorRatio=8 -XX:TargetSurvivorRatio=50%
  set TENURING=-XX:MaxTenuringThreshold=2
  if %current_minor% LEQ "8" (
  rem Increase MaxPermSize if you use a lot of Javascript in your Test Plan :
  set PERM=-XX:PermSize=512m -XX:MaxPermSize=1024m)

# 設置輸出報告模板格式

     jmeter.save.saveservice.output_format = csv

7.2system.properties配置文件

system.properties,定義Java進程的系統變量,通過System.getProperties()可查詢。

7.3user.properties配置文件

user.properties,自定義配置,可覆蓋jmeter.properties。

7.4拓展

1.配置文件可能存在優先級關係,好像user.properties會覆蓋jmeter.properties,一般修改配置都是修改或者添加user.properties,不建議修改jmeter.properties

2.通過修改reportgenerator.properties的下面配置,可以減少採樣時間,增加採樣精度。生成的報告的其他內容也可以在這裏修改。當然,建議這些修改,都放到user.properties裏面去

3. 修改jmeter.properties裏的這些配置,可以控制報告DashBoard的顯示時間,建議這些配置放到user.properties裏面去

4.輸出的控制報告的顯示時間如下:

8.小結

  好了,今天有關JMeter的知識就分享到這裏吧,謝謝大家的閱讀,如果您覺得還可以就給個推薦唄!!!

 

您的肯定就是我進步的動力。如果你感覺還不錯,就請鼓勵一下吧!記得隨手點波  推薦  不要忘記哦!!!

別忘了點 推薦 留下您來過的痕跡

 

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