jmeter_04_常用取樣器


常用取樣器詳解

http取樣器


http請求

​ 名稱 用於給取樣器做標記 可以根據請求內容 起一個有意義的名稱

​ 注釋 不影響測試 可以寫入關於請求的測試說明 供閱讀

1.1 基本配置

​ 協議:向目標服務器發送HTTP請求時的協議,可以是http或者是https或者File ,默認值為http 。

​ 服務器名稱或IP :HTTP請求發送的目標服務器名稱或IP地址

​ 端口號:目標服務器的端口號,默認值為80

​ 方法:發送HTTP請求的方法,可以根據接口文檔獲得,可用方法包括GET、POST、HEAD、PUT、OPTIONS、TRACE、DELETE等。

路徑:目標URL路徑(不包括服務器地址和端口)-也可以直接寫完整路徑(上面的IP+端口就可以省略了) 不帶參數的api路徑

​ Content encoding :內容的編碼方式,默認值為iso8859(所以常用為UTF-8減少亂碼)

​ 自動重定向:如果選中該選項,當發送HTTP請求后得到的響應是302/301時,JMeter 會自動重定向到新的頁面,但是Jmeter是不記錄重定向的過程內容。只能用於get和head方法,如果是post或者put請求則取樣器不會發送。

​ 跟隨重定向:Http Request取樣器的默認選項,當響應code是3xx時,自動跳轉到目標地址。與自動重定向不同,Jmeter會記錄重定向過程中的所有請求響應,在查看結果樹時可以看到服務器返回的內容,如有多個跳轉則多個請求都會被記錄下來,此為默認選項。
自動重定向和跟隨重定向的區別只在於是否記錄多個跳轉的請求上

​ Use keep Alive : 當該選項被選中時,jmeter 和目標服務器之間使用 Keep-Alive方式進行HTTP通信,默認選中。 [這個不能被取消]

​ Use multipart/from-data for HTTP POST :當發送HTTP POST 請求時,使用Use multipart/from-data方法或者application/x-www-form-urlencoded方法發送,默認不選中。

​ Browser-compatible headers:當勾選multipart/form-data時,勾選此項會截掉http請求頭中的Content-Type和Content-Transfer-Encoding,而只發送Content-Disposition部分;

​ 同請求一起發送參數 : 在請求中發送URL參數,對於帶參數的URL ,jmeter提供了一個簡單的對參數化的方法。用戶可以將URL中所有參數設置在本表中,表中的每一行是一個參數值對(對應RUL中的 名稱1=值1)。編碼這個選項最好勾選,因為如果參數值內含有ASCII Control Chars或者Non-ASCII characters或者其他符號的話,如果不勾選會導致發送失敗,勾選的話會自動將含有的這些特殊符號進行編碼。

​ 同請求一起發送文件:在請求中發送文件,通常,HTTP文件上傳行為可以通過這種方式模擬,參數名稱就是發送文件對應的參數,MINE Type為資源媒體類型,說明參考如下MIneType

1.2 高級配置

Implementation:發送http請求的方式,可選項為java和HttpClient4,默認為HttpClient4;如果是上傳文件的話一定要選擇;否則請求發送成功了,其實文件並未上傳成功

Timeouts(milliseconds):Connect:連接超時時間,單位為毫秒;

Response :響應等待超時時間,單位為毫秒;

Embedded Resources from HTML Files

從HTML文件獲取所有內含的資源:當該選項被選中時,jmeter在發出HTTP請求並獲得響應的HTML文件內容后,還對該HTML進行解析 並獲取HTML中包含的所有資源(圖片、flash等),默認不選中,如果用戶只希望獲取頁面中的特定資源,可以在下方的Embedded URLs must match 文本框中填入需要下載的特定資源表達式,這樣,只有能匹配指定正則表達式的URL指向資源會被下載。
Parallel downloads.:是否使用自設資源池,勾選后可設置大小;
Number:資源池大小,默認為6。
URLs must match:URL匹配過濾,填寫此項則只會下載與此內容項匹配的url的資源,例如要獲取http://example.com/下的所有資源,使用正則表達式http://example.com/.*;

jdbc取樣器


前置:需要引用數據庫上官jar包

​ 加入jar包的兩個方法

​ 1 直接下載對應的jar文件放在bin/lib文件夾下 etc文件夾下也可以放 但是不建議 然后重啟jmeter

​ 2 "測試計划" --> 瀏覽 導入對應jar

​ **建議使用第一種方法 **

作用:

名稱 用於給取樣器做標記 可以根據請求內容 起一個有意義的名稱

​ 注釋 不影響測試 可以寫入關於請求的測試說明 供閱讀

2.1 JDBC Connection Configuration

想使用 jdbc request請求數據庫 在安裝數據庫的對應驅動 jar之后 需要添加 對應的jdbc環境配置

​ 名稱 用於給取樣器做標記 可以根據請求內容 起一個有意義的名稱

​ 注釋 不影響測試 可以寫入關於請求的測試說明 供閱讀

2.1.1 **Variable Name of Bound Pool **

​ 1 *Variable Name of Create Pool : 重要 在創建對應的jdbc的環境配置 要定義個環境配置的的引用名稱

方便創建Jdbc request 與之對應

		        剩下的配置 取默認就可以

2.2 JDBC Request

​ 添加方式 :測試計划 ->線程組 -> 取樣器 -> jdbc 取樣器

​ 1 *** **Variable Name of Pool declared in JDBC Connection Configuration:由 JDBC Connection Configuration定義的連接池變量名

與jdbc環境變量中定義的引用名稱一致 類似數據庫外鍵 創建關聯

* Query Type: 定義sql的執行方式 非常重要 如果對應不上會直接導致請求失敗

​ 2.Parameter values:逗號分隔的參數值列表。使用]NULL[指示空參數。(如果需要,可以通過定義屬性“JDCBSAMPLOUL.NulLMARK”來改變空字符串。必須用雙引號括起來,並且任何嵌入的雙引號必須加倍,【這是在使用SQL中包含占位符的情況 一般不需要做這個 直接卸載SQL中就可以 】

3.Parameter types:逗號分隔的SQL參數類型列表(比如INTEGER, DATE, VARCHAR, DOUBLE)或常量的整數值。當使用驅動程序建議的自定義數據庫類型時,可以使用這些整數值。

4.Variable names:用逗號分隔的變量名列表,用於保存由Select語句、Prepared Select語句或CallableStatement返回的值。注意,當與CallableStatement一起使用時,變量列表的順序必須與調用返回的OUT參數相同。如果變量名少於OUT參數,則只有指定變量名的部分能返回;如果存在更多的變量名,則多余變量將被忽略。

5.Result variable name:如果指定,這將創建包含行映射列表的對象變量。每個映射包含列名稱作為鍵,列數據包含值。用途:

​ 這個是將 請求結果以列表的格式參數化; 可以通過 調試取樣器 觀察取樣器結果 確定參數化成功與否以及如何引用參數化 的 參數

  1. Query timeout:查詢超時時間;、
  2. Handle result set:定義如何處理由callable statements語句返回的結果 可選項為 string object records

調試取樣器

調試取樣器:

​ 名稱 用於給取樣器做標記 可以根據請求內容 起一個有意義的名稱

​ 注釋 不影響測試 可以寫入關於請求的測試說明 供閱讀

 調試取樣器是jmeter中一個非常重要的存在 主要用於調試 解決使用jmeter時候遇到的如下的幾個問題

​ 1.我想知道參數化的變量取值是否正確!

​ 2.我想知道正則表達式提取器(或json提取器)提取的值是否正確!

​ 3.我想知道 JMeter 屬性!

​ 4,調試時服務器返回些什么內容!

當你遇到如上的問題時 可以使用調試取樣器 幫助解決問題

以下是對調試取樣器的參數說明

​ 1 名稱:控制器名稱,可以隨意設置,甚至可以為空。

​ 2 注釋:可以隨意設置,可以為空

JMeter Properties:是否查看JMeter屬性,默認為False。

JMeter Variables:是否查看運行時變量,默認為True。

System Properties:是否查看系統屬性,默認為False。

正常情況下 只需要使用調試取樣器的默認就足夠 但是如果想要使用 jmeter的系統和jemter的屬性時候哦需要將對應的參數變成True

這兩個屬性參數維護在jmeter 的bin目錄下的 properties 和 system 中

換句話說 調試取樣器可以顯示 所有 jmeter參數化手段 制造的參數

如上是jmeter 調試取樣器的實例

目前 調試取樣器的使用 一般與 查看結果數結合 在添加調試取樣器 之后 對應的結果 需要在查看結果數中才能看到

Beanshall取樣器

​ 對於取樣器來說 jmeter的拓展性 主要體現在 Beanshall取樣器上 這個取樣器 的作用 概括成一句話 就是 當你想要在jmeter中實現的不是jmeter的自帶功能的時候 這個取樣器就派上了用場

由於beanshall取樣器本身是個大的模塊 在這邊做簡單的概述后 關於beanshall的使用 我會另起一個文檔詳細講解



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM