Jmeter核心-慧測課堂筆記

自動化測試平臺-Httprunner-接口、UI、協議。html

平臺語言-JAVA-UI-Selenium(java版的)、Appium(java版的)、接口-Httpclient、Jmeter。(Jmeter性能測試工具,能夠作接口自動化,java寫的。)java

平臺語言-Python-locust(接口、性能)。linux

 

linux下載tgz格式的,windows下載gpg格式的。web

source是源碼。json

 

Jmeter:windows

總體結構:Java(可擴展)、腳本開發(錄製、手寫-Http協議:"get、post"、自定義)、場景設計、測試結果。服務器

Get-請求url、參數、請求頭cookie

Post-請求url、參數、請求頭、數據。數據有3種:表單(name=value)、不規範的自定義數據(json、xml、隨便的數據)(使用消息體數據)、附件(使用文件上傳)session

排查問題是就看上面標紅的是否有問題。看這個請求特有的頭信息。併發

請求頭:html/xml:text        json:application/json

 

進程是管理單元、線程是操做單元。操做都是經過線程完成的。

用戶其實指的就是線程(lr  jmeter ab)或協程(locust)。

用戶-真實用戶(實際中)、線程(壓測時)。1萬個用戶達到的同一時刻的併發可能只有50個。

 

cookie和session都是服務器產生的,存在客戶端叫cookie,存在服務器端叫session.

服務器返回set-cookie.

cookie和session都是保存服務器和客戶端狀態的,由於http協議是一個無狀態的協議。cookie和session是共存的,核心內容在session裏面,id號存在cookie裏面。

 

Jmeter:

HTTP請求默認值

HTTP Cookie管理器

HTTP信息頭管理器

建立HTML數據(CSV數據文件設置)    將請求中的數據,替換成${變量名}

登陸業務控制器(僅一次控制器):

  首頁(GET)

  登陸(Post)

    響應斷言

    斷言持續時間

  登陸後頁面

  高斯隨機定時器 (首頁、登陸、登陸後頁面執行後都會停留思考時間,若是放在首頁下面,則只有首頁會停留)

 

建立HTML(簡單控制器):

  點擊建立HTML

    獲取token(邊界提取器)

  建立HTML(POST)

               newtoken 前置處理器(Bean Shell PreProcessor)  import com.huicewang.*;

                           String token = vars.get("token);

                           String newtoken = Tools.decode(token);

                           vars.put("newtoken",newtoken);

    HTTP信息頭管理器   (${newtoken})

  Debug Sampler

察看結果樹

 

fiddler抓到的請求:

業務相關請求。

樣式表、圖片、js相關請求。(通常沒用)

 

請求頭中的keep-alive表明客戶端支持長鏈接,可是實際是否是長鏈接要看服務器的返回頭中。

Token:令牌。從下往上找。

關聯:保存服務器返回的數據,再作一些特殊的處理,後續的請求會用。

jmeter支持Xpath  函數助手

 URL編碼、解碼

將開發導出的Jar包拷到jemeter-lib-ext文件夾下,重啓jmeter

 

csv文件,Subline工具打開,另存爲時Save with Encoding選擇 UTF-8

 

按照時間運行,跑多長時間,不知道會跑多少次。  循環次數選擇永遠,勾選調度器,持續時間xxx

跑多少次,可是不知道會跑多久。  線程數10   循環次數1000   10個用戶登陸  跑10000萬次建立html

 

Jmeter官網插件庫。

性能測試中最關心的,響應時間、吞吐量(每秒鐘事務數TPS)。

好的性能要夠快、夠多,要響應時間、吞吐量、用戶同時考慮。

 

用jmeter測試websoket協議。

 

分佈式壓測:

Controller機器上,配置Jmeter.properties文件,remote_hosts配置壓力機:將ip填寫上,用逗號隔開,(壓力機的端口默認是1099,若是壓力機的機器上將把Jmeter.properties文件的port打開了,則在控制機上也須要將對應的端口號打開,而且:後是該壓力機對應端口號。)

在控制機上運行-遠程啓動/遠程啓動所有,則啓動了壓力機。(前提:壓力機上的jmeter都已經啓動,啓動方法,在壓力機上,命令窗口輸入jmeter-server.bat即啓動了壓力機。)

 

 

先配置好jmeter環境變量。

命令窗口,到腳本目錄下,jemeter -n -t Alfresco.jmx -l log /1.log -r -e -o reports/

 

非圖形化,分佈式壓測。

 

若是(if)控制器。

同一級別下:

配置元件會先執行,其次取樣器(參數化、關聯、斷言、前置處理器、後置處理器),最後監控。

取樣器的執行基於線程組,基於時間、基於次數。

相關文章
相關標籤/搜索