1. 程式人生 > >Jmeter之http測試及指令碼錄製

Jmeter之http測試及指令碼錄製

一、 什麼是jmeter
Jmeter是免費開源的效能測試工具(同時也可以用作功能測試,http協議debug工具).在如今越來越注重智慧財產權的今天, 公司越來越不願意冒著巨大的風險去使用盜版的商業效能測試工具. 但如果不使用盜版, 昂貴的License費用也不是每一箇中小型公司,甚至是大型公司願意投入的. 所以很多公司甚至還在鋌而走險的買少量的license,然後大範圍的使用.jmeter這個免費且好用的效能測試工具, 有足夠的理由成為是我們不二的選擇。
Jmeter是java語言編寫,開放原始碼。有了原始碼,使得我們可以更深入的分析一些問題。(比如響應時間等),這樣有助於我們更深刻理解效能測試,可以學習如何才能更精確的計量時間。商業軟體就沒有這個優點, 你想知道的東西,只能去看他們提供的文件,但文件並沒有程式碼更能說服人。
二、 Jmeter對比LoadRunner

描述 LoadRunner Jmeter
協議 支援HTTP、RTSP、SIP、Socket、JAVA自定義、媒體質量分析等 Web - HTTP, HTTPS ,SOAP / REST,FTP,Database via JDBC,LDAP,Message-oriented middleware (MOM) via JMS,Mail - SMTP(S), POP3(S) and IMAP(S),Native commands or shell scripts,TCP
指令碼錄製 支援,不支援讀取cap抓包檔案直接轉換為業務指令碼;場景如機頂盒業務 支援代理錄製,但不支援HTTPS;支援badboy錄製產生指令碼
UI介面 支援,指令碼錄製與編輯、場景控制,結果分析都介面化 支援,但不完善,功能少,不夠美觀
資源佔用 資源佔用率高 資源佔用較高
分散式測試 支援由單一控制器管理多個負載生成器 支援
併發模型 支援多種併發模型 併發模型單一
報告與分析 完善,支援生成HTML、Word報告 簡單圖表
資源監控 完善,支援SNMP收集資源指標 不支援
虛擬IP 支援系統虛擬IP 不支援
網速模擬 支援 不支援
擴充套件性 完善,附加的TSL或者C函式庫 開源,使用者可根據需求修改原始碼

三、 Jmeter的安裝及啟動
jmeter官網:http://jmeter.apache.org/
可以下載jmeter編譯好的壓縮包,windows下可以下載zip包,最新版本是jmeter3.0,要求java版本為7或更高版本,也可以下載老版本以支援較低版本的java,不過會無法體驗到新功能。
windows下解壓zip包,雙擊執行解壓縮目錄下\bin\jmeter.bat,則會啟動jmeter gui介面,如果不希望啟動gui介面可以指定引數。
linux下執行jmeter.sh可以啟動jmeter
以上方式是在jmeter目錄下執行,如果想全域性執行可以配置環境變數,配置方法:
桌面上 右鍵選中計算機—>屬性—>高階系統設定—>環境變數設定:
  在“系統變數”—>“新建”, 在變數名中輸入:JMETER_HOME,變數值中輸入:jmeter解壓路徑 ,再修改CLASSPATH變數,變數值中新增%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;% JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib\logkit-1.2.jar; 然後確定即可
四、 建立http測試
這裡建立一個簡單的http測試,來熟悉jmeter如何進行http的效能測試
啟動jmeter
這裡寫圖片描述
新增執行緒組
這裡寫圖片描述
這裡寫圖片描述
新增http請求取樣器
這裡寫圖片描述
建立一個訪問bing的http請求
這裡寫圖片描述
新增一個響應斷言,驗證請求是否正確
這裡寫圖片描述
這裡寫圖片描述
新增一個監聽器,檢視請求和相應結果
這裡寫圖片描述
這裡寫圖片描述
儲存測試指令碼
這裡寫圖片描述
啟動測試,驗證結果
這裡寫圖片描述
可以看到我們的請求和相應結果
這裡寫圖片描述
這裡寫圖片描述
重新設定一下相應斷言,再看一下響應結果
這裡寫圖片描述
可以看到斷言失敗,因為我們的請求是成功的,而我們用斷言來判斷一個異常的響應狀態
這裡寫圖片描述
五、 指令碼錄製
實際的測試場景中,如果手動新增每一個web(http/https)請求,費時又費力,而且有可能最後手動編寫的和實際發出的請求有出入。幸好jmeter自身可以錄製指令碼,或者通過其他工具生成jmeter指令碼,下面就介紹一下如何進行指令碼錄製。
錄製方法1:
通過jmeter自身設定就可以實現指令碼錄製:
建立一個執行緒組
這裡寫圖片描述
建立http代理伺服器:
這裡寫圖片描述
設定代理伺服器
這裡寫圖片描述
設定IE瀏覽器:
這裡寫圖片描述
注意埠號要與jmeter上的埠號一致
單擊jmeter上的”啟動”按鈕,開啟瀏覽器輸入要測試的網址,jmeter就會記錄你的操作:
啟動過程中會出現如下提示:
這裡寫圖片描述
進行測試操作jmeter就會自動生成指令碼:
這裡寫圖片描述

錄製方法2:
使用badboy進行錄製,首先要下載badboy安裝包:
badboy官網:http://www.badboy.com.au/
這裡寫圖片描述
下載badboy並進行安裝
這裡寫圖片描述
啟動badboy
這裡寫圖片描述
點選紅色按鈕開始錄製,然後在位址列中輸入被測網址
這裡寫圖片描述
錄製完成後點選黑色按鈕停止錄製
匯出生成jmeter指令碼
這裡寫圖片描述
使用jmeter開啟剛剛錄製的指令碼
這裡寫圖片描述
至此badboy的指令碼錄製已完成

相關推薦

Jmeterhttp測試指令碼錄製

一、 什麼是jmeter Jmeter是免費開源的效能測試工具(同時也可以用作功能測試,http協議debug工具).在如今越來越注重智慧財產權的今天, 公司越來越不願意冒著巨大的風險去使用盜版的商業效能測試工具. 但如果不使用盜版, 昂貴的License費

Shell條件測試shell批量建立使用者指令碼

文章目錄 條件表示式及邏輯表示式 檔案及目錄判斷 案例:備份資料庫中wordpress庫,每日凌晨開始,備份成功則郵件通知 數值比較 案例:r磁碟根`/`使用率,超

jmeter介面測試http介面測試

基礎知識儲備 一、瞭解jmeter介面測試請求介面的原理 客戶端--傳送一個請求動作--伺服器響應--返回客戶端 客戶端--傳送一個請求動作--jmeter代理伺服器---伺服器--jmeter代理伺服器--伺服器 二、瞭解基礎介面知識: 1、什麼是介面:前端與後臺之間的橋樑、資料傳輸的通道,就是一

人生苦短HTTP協議Requests庫的方法

資源 view 新的 path python進階 教程 區別 lock load requests庫的主要方法:requests.request()構造一個請求    requests.get()獲取HTML網頁的主要方法,對應於HTTP的GE

壓測工具JMeter環境配置運行

tar load col image 技術 down files inf apache 一、下載JMeter 地址:http://jmeter.apache.org/download_jmeter.cgi 系統:win7 x64 在 Binaries 目錄下選擇一個合適自己

Jmeter壓力測試總結

bsp -s lin 壓力測試 在線 median 並發用戶 執行 strong 一、基本概念 1.線程組N:代表一定數量的並發用戶,所謂並發就是指同一時刻訪問發送請求的用戶。線程組就是模擬並發用戶訪問。 2.Ramp-Up Period(in seconds):建立所有線

學習筆記-JmeterHTTP請求預設值

轉自:https://www.cnblogs.com/ShadowXie/p/6008967.html 一、HTTP Request Defaults的作用:   該元件可以為我們的http請求設定預設的值。假如,我們建立一個測試計劃有很多個請求且都是傳送到相同的server,這時我

軟體測試_APP測試_效能測試_指令碼錄製_基本操作流程

這次主要是寫一下使用Loadrunner對APP進行效能測試的基本流程,有關效能測試監控指標請檢視連結:軟體測試_效能測試_關注點。 先決條件:已安裝Loadrunner。如未安裝,請檢視連結:軟體測試_測試工具_Loadrunner,進行安裝+破解+漢化的軟體安裝。     &nbs

jmeter進行http測試

1. 下載jmeter 2. 構建csv檔案 3. thread group 4. csv data set config a. filename:到csv目錄查詢 b.variable name:type,content c. 5. beanshell sam

Jmeter效能測試TPS解析

1、獲得TPS外掛 2、新增後,記得使用排程器——每秒50個併發,持續60秒,觀察TPS  3、TPS,執行一次事務(包括請求、請求伺服器、等待伺服器返回等等,比如一個TPS事務,可能觸發3個QPS請求) PS:一秒鐘處理的事務數。TPS值越大,一秒鐘處理的事務

JmeterHttp Cookie Manager

一、Http Cookie Manager的作用: 1、自動管理cookie:象瀏覽器一樣的儲存和傳送Cookie,如果傳送一個http請求他的響應中包含Cookie,那麼Cookie Manager就會自動地儲存這些Cookie並在所有後來發送到該站點的請求中使用這些

Jmeter 資料庫測試

  1、在需要測試計劃頁面,匯入資料庫驅動jar包。 2、線上程組下,新增資料庫連線配置控制元件:JDBC Connection Configuration   3、設定同步計時器的引數,用於併發使用   4、向資料庫表中插入資料  

Jmeter——JmeterWebsocket測試

一、Websocket是一種持久化連線,先通過http協議建立一次連線,在連線中通過websocket協議持續和伺服器進行互動,同時該協議存在被動性特點,服務端可以主動通知客戶端下面是具體抓包情況,可以

壓力測試三(Jmeter的簡單測試常用檢視結果引數介紹)

(1)儲存方案 (2)建立執行緒組   執行緒組用來模擬使用者的併發訪問   執行緒組主要包含三個引數:執行緒數、準備時長(Ramp-Up Period(in seconds))、迴圈次數

Go語言HTTP測試程式效能調優

         這篇要講的東西,主要是HTTP,WebSocket的測試及如何調優Go程式的一些方法. 分下面幾個內容: 一.httptest測試包 二.效能測試 三.怎麼利用引數分析和調優程式四.在執行中實時監控調優 一.httptest測試包 對於HTTP和WebS

Jmeter資料庫連線請求

涉及到的Jmeter模組如下: JDBC Connection Configuration JDBC PreProcessor / JDBC Request Debug Sampler View Results Tree 前言 做介面測試時,經常碰到需要從資料庫中

JmeterHTTP Cookie 管理器

需要 cape 所有 cap 原始的 移動 就是 ignore implement   Jmeter所支持的Cookie標準有很多,同時jmeter也提供兩組程序實現這些cookie標準,分別是httpclient3與httpclient4。http cookie 管理器中

Web系統性能測試實戰指令碼錄製(基於JMeter

鑑於Badbody已經不維護了,亟需一個替代方案。後發現Jmeter已自帶錄製工具,而且使用也很方便。 Jmeter配置 1、新增執行緒組(使用者組) Add > Threads(Users) > Thread Group ​​ 2、新增監聽控制器 Add

自動化測試工具TestWriter使用時遇到的指令碼錄製問題解決方法

自動化測試工具TestWriter使用時遇到的指令碼錄製問題及解決方法如下,歡迎大家一起溝通交流~ 1Web 1.1如何使用瀏覽器除錯檢查Xpath 1) IE9及以上瀏覽器。在被測頁面按F12開啟開發人員工具,利用元素選擇工具在頁面定位指定元素; 2) Goog

jmeter設定HTTP代理,錄製APP指令碼

      1.開啟jmeter,“工作臺”右鍵——“新增”——“非測試元件”——“HTTP代理伺服器” 2.設定埠號,手機需與這裡的埠號一致 3.新建執行緒組,“測試計劃”右鍵——“新增”——“Threads(Users)”——“執行緒組” 4.修改執行