JMeter學習筆記--詳解JMeter配置元件


JMeter配置元件可以用來初始化默認值和變量,以便后續采樣器使用。將在其作用域的初始化階段處理。

  • CSV Data Set Config:被用來從文件中讀取數據,並將它們拆分后存儲到變量中,適合處理眾多變量
    • Variable Names:變量名列表(逗號分隔)。JMeter2.3.4以后的版本,支持CSV標題行,如果變量名為空,那么文件的第一行將被讀取,並被解釋為列名的列表。這些變量名必須使用分割符加以區分,他們可以使用雙引號加以引用。默認情況下,該文件僅打開一次,而每個線程會使用文件中不同的數據行。至於數據行傳遞給線程的順序,依賴於他們執行的順序,數據行在每次測試循環的開始階段讀取,文件名和模式在第一次循環時解析。
    • Delimiter:默認逗號
    • Allow quoted data?: CSV文件是否容許值被引用
    • Recycle on EOF?: 達到文件結尾后,是否從文件開始循環重新讀取(默認True),當到達文件尾時,且Recycle選項設置為True,就會從文件第一行重新開始讀取,如果設置為false,而Stop thread on EOF?是False,那么當到達文件尾部時所有變量都將被置為<EOF>,可以通過設置JMeter屬性csvdataset.eofstring來改變該值。如果Recycle選項為false,而Stop thread是True,那么到達文件尾部之后,將導致線程被終止。
    • Stop thread on EOF?:達到文件結尾后,線程是否該終止。
    • Sharing mode:如果希望每個線程擁有自己獨立的值集合,那么就需要創建一系列數據文件,為每個線程准備一個數據文件,如test1.csv、test2.csv等,使用文件名test${__threadNum}.csv,並將“sharing mode"設置為"Current thread"
      • All threads:文件在所有線程間共享
      • Current thread group: 每個文件會針對每個線程組打開一次
      • Current thread: 每個文件會針對每個線程單獨打開
      • Identifier:所有線程共享相同的標識,共享相同的文件。如有4個線程組,測試人員可以使用一個通用ID,以便在兩個或多個線程組之間共享文件。

注意:CSV Dataset變量在每次測試循環的初始階段定義,由於定義發生在配置處理完成之后,所以他們不能用於一些配置元件(如JDBC Config),以便在配置時處理他們的內容。可在HTTP Auth Manager中正常使用。

 

  •  FTP Request Defaults:被用於設置FTP請求的默認值
  • HTTP授權管理器:可以幫助測試人員指定針對Web頁面的一個或多個登錄。如果沒有定義,HTTP客戶端采樣器默認使用pre-emptive校驗,要禁止這一功能,做如下設置: jmeter.propertied中:設置 httpclient.parameters.file=httpclient.parameters  httpclient.parameters中:設置 http.authentication.preemptive$Boolean=false ,上面的設置只影響HTTPClient采樣器(SOAP采樣器,也使用HTTPClient). 注意,如果在一個采樣器的作用域范圍內有多個授權管理器,那么目前沒辦法確認JMeter使用哪個授權管理器。
    • Base URL: 一部分或者完整的URL,用於匹配一個或者多個HTTP 請求URL。例如:指定一個Base URL(http://jakarta.apache.org/restricted/),對應用戶名“jmeter",密碼”jmeter".如果測試人員發送一個HTTP請求到 URL(http://jakarta.apache.org/restricted/ant/myPage.html),授權管理器就會發送用戶名為"jmeter"登錄信息
    • username:校驗用的用戶名
    • Password:該用戶的密碼
    • Domain:針對NTLM使用的域
    • Realm:針對NTLM使用的realm
  • HTTP Cache Manager:被用來為其作用域內的HTTP請求提供緩存功能,如果“Use Cache-Control/Expires header When ..."選中,那么會根據當前時間來選擇,如果請求是”GET",而時間指向未來,那么采樣器就會立即返回,而無須從遠程服務器請求URL,這樣是為了模擬瀏覽器的操作,請注意Cache-Control頭必須是“pulic”的,並且只有"max-age"終結選項會被處理,如果請求文檔自從其被緩存以來沒有發生任何改變,那么響應包體就會為空。
  • HTTP Cookie管理器:主要有兩個功能:
    • 它像web瀏覽器一樣存儲和發送Cookie。,如果測試人員有一個HTTP請求和相應里包含Cookie,Cookie管理器會自動存儲Cookie,那么接下來針對特定web站點的所有請求中使用該Cookie。可在結果樹中查看。接收到的Cookie可以被保存為變量,須定義屬性"CookieManager.save.cookie=true",另外,在被存儲前Cookie名稱會加上前綴“COOKIE_",要恢復早前處理方式,則定義屬性”CookieManager.name.prefix="(一個或多個空格)。如果啟動了該功能,那么名稱為TEST的Cookie,可以通過${COOKIE_TEST}加以引用。
    • 手動為Cookie管理器添加一個Cookie(為所有JMeter線程所共享)。
  • HTTP請求默認:設置HTTP請求使用的默認值
  • HTTP信息頭管理器:可添加或者重載HTTP請求頭,JMeter目前支持多個信息頭管理器,信息頭目將被合並起來構成采樣器列表。如果一個待合並條目匹配一個已經存在的信息頭名,那么它就會替代目前的條目,除非條目值是空,在這種情況下已經存在的條目會被移除,這容許用戶設置一系列默認信息頭,並對特定采樣器加以調整。
    • Name(header):請求頭的名稱,經常用到的兩個通用請求頭 “User-Agent" 和”Referer"
    • Value:請求頭的值
  • 登錄配置元件:為采樣器添加或重載用戶名和密碼。
  • 用戶定義的變量:定義初始化一系列變量。都在初始化階段處理。因此有些變量不能引用。
  • Random Variable:被用來產生隨機數字字符串,接下來將其存放到變量之中。
    • Variable Name: 變量名,用於保存隨機字符串
    • output format: 使用java.text.DecimalFormat格式字符串,例如”000"會產生至少3個數字的隨機數,或者“USER_000"產生的輸出格式為USER_nnn,如果不指明,就是用long.toString()來產生數字
    • Minimum Value: 產生隨機數的最小值(整數)
    • Maximum Value:
    • Seed for Random function:隨機數產生器的種子,默認為當前時間(以毫秒為單位)
    • Per Thread(User)?: 如果為False,則隨機數產生器在線程組的所欲線程共享,為True,則每個線程都有自己的隨機數產生器。
    • 計數器:容許用戶創建一個計數器,可在線程組中任何地方被引用
  • 簡單配置元件:可以在采樣器中添加或者重載任意值

 


免責聲明!

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



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