生活随笔
收集整理的這篇文章主要介紹了
Jmeter-界面功能介绍
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
之前已經(jīng)介紹過了jmeter的安裝以及部分簡單使用,這篇文章主要用來詳細(xì)描述Jmeter的界面功能 jmeter界面包括五個部分:標(biāo)題欄、菜單欄、常用工具欄、測試計劃標(biāo)簽、測試計劃標(biāo)簽內(nèi)容’
標(biāo)題欄
記錄計劃的標(biāo)題、jmeter的版本信息
菜單欄
文件
子菜單描述 新建 新建一個測試用例 模板 常用用例模板指導(dǎo) 打開 打開一個新的jmx文件 最近打開 打開最近使用過的jmx文件 合并 合并多個jmx文件 保存測試計劃 保存當(dāng)前編輯的測試計劃,不包括測試工作臺相關(guān)內(nèi)容 保存測試計劃為 將當(dāng)前編輯的測試計劃保存為另一個指定的jmx文件,不包括測試工作臺內(nèi)容的相關(guān)編輯 選中部分保存為 將當(dāng)前編輯的測試計劃選中部分,另存為一個指定的jmx文件,包括測試工作臺內(nèi)容的相關(guān)編輯 保存為測試片段 只能保存除線程組、測試計劃、工作臺之外的測試片段 還原 將修改后的jmx還原為上一次已經(jīng)保存過的jmx 重啟 重新啟動jmeter
模板-Templates:
用例模板 BeanShell Sampler 簡單的BeanShell用例 (BeanShell 一種類似于java的腳本語言) Building a SOAP WebService Test Plan 創(chuàng)建一個SOAP web服務(wù)的測試計劃(SOAP 一種簡單XML協(xié)議,使程序通過HTTP進行通信) Building a Web Test Plan 創(chuàng)建一個web測試用例 Building an Advanced Web Test Plan 創(chuàng)建一個優(yōu)化版本的測試計劃 Building an Extended LDAP Test Plan 創(chuàng)建一個擴展的LDAP測試用例 (LDAP 一種輕型目錄訪問協(xié)議,通過IP協(xié)議提供訪問控制和維護分布式信息的目錄信息,常用于單點登錄) Building an LDAP Test Plan 創(chuàng)建一個LDAP測試計劃(LDAP 一種輕型目錄訪問協(xié)議,通過IP協(xié)議提供訪問控制和維護分布式信息的目錄信息,常用于單點登錄) Building an FTP Test Plan 創(chuàng)建一個FTP測試計劃(FTP 一種文件傳輸協(xié)議) Functional Testing Test Plan [01] 功能測試測試計劃 JDBC Load Test JDBC壓力測試(JDBC java數(shù)據(jù)庫) MongoDB Load Test MongoDB壓力測試 JSR223 Sampler using Groovy 使用Goovy的JSR223用例(JSR223 java中的script腳本引擎) Recording 錄制腳本 Recording with Think Time 錄制帶有思考時間的腳本(更真實模擬用戶操作) Think Time at a point 在某時刻設(shè)置思考時間
OverView:模板簡介 Useful links:使用幫助文檔鏈接
編輯
(對選中的標(biāo)簽進行處理(也可選中相應(yīng)標(biāo)簽,右擊鼠標(biāo)))
子菜單功能 添加 為計劃添加相關(guān)測試組件 粘貼 將剪切板中的組件內(nèi)容粘貼至計劃中(僅限于計劃下的一級子菜單內(nèi)容) 打開 打開一個已存在的jmx文件 合并 將多個jmx文件合并成一個jmx文件(僅合并單個文件,不將文件內(nèi)容合并) 選中部分保存為 將當(dāng)前計劃另存為一個jmx文件 保存節(jié)點為圖片 將當(dāng)前標(biāo)簽內(nèi)容保存為圖片形式 保存屏幕為圖片 將當(dāng)前整個jmeter屏幕保存為圖片形式 啟用 啟用當(dāng)前組件 禁用 禁用當(dāng)前組件 切換 當(dāng)前選中取樣器禁用和啟用兩種狀態(tài)的切換 幫助 官方幫助使用jmeter文檔
子菜單功能 添加 添加線程下的相關(guān)組件 剪切 剪切當(dāng)前線程組至剪切面板 復(fù)制 復(fù)制當(dāng)前線程組 粘貼 將剪切面板中的線程下的相關(guān)組件復(fù)制到該線程下 復(fù)寫 復(fù)制一份相同的線程組至當(dāng)前測試計劃下 刪除 刪除該線程組 打開 打開一個已存在的 .jmx文件 合并 將其它線程組與當(dāng)前選中線程組進行合并 選中部分保存為 將當(dāng)前線程組保存為一份jmx文件 保存節(jié)點為圖片 將當(dāng)前線程組界面內(nèi)容保存為一張圖片形式 保存屏幕為圖片 將當(dāng)前整個JMetre界面保存為圖片形式 啟用 啟用當(dāng)前選中的線程組 禁用 禁用當(dāng)前選中的線程組 切換 切換當(dāng)前線程組的啟用和禁用狀態(tài) 幫助 跳轉(zhuǎn)至介紹線程組使用的官方文檔
子菜單功能 添加 在取樣器下添加相關(guān)元件 插入上級 在當(dāng)前取樣器上一級插入邏輯控制器,控制取樣器的執(zhí)行 剪切 將當(dāng)前取樣器剪切至剪切面板中 復(fù)制 復(fù)制當(dāng)前取樣器 粘貼 將剪切板中的取樣器下包含的元件復(fù)制到當(dāng)前取樣器下 復(fù)寫 復(fù)制一份相同的取樣器至當(dāng)前線程組下 刪除 刪除當(dāng)前取樣器 打開 打開一個已存在的 .jmx文件 合并 將其它jmx文件的取樣器內(nèi)容合并至當(dāng)前取樣器下 選中部分保存為 將當(dāng)前取樣器的內(nèi)容保存為另一份 .jmx文件 保存為測試片段 將當(dāng)前取樣器腳本保存為可復(fù)用的測試片段,可在其它模塊中進行添加復(fù)用 保存節(jié)點為圖片 將當(dāng)前取樣器內(nèi)容保存為圖片形式 保存屏幕為圖片 將當(dāng)前JMetre界面保存為圖片形式 啟用 啟用該取樣器 禁用 禁用該取樣器 切換 切換取樣器的禁用和啟用狀態(tài) 幫助 點擊至介紹取樣器使用的官方文檔
選中元件,點擊編輯(或者右擊鼠標(biāo)): 監(jiān)聽器會多一個子菜單:清除,其它子菜單功能均與上述子菜單類似
查找
子菜單功能 查找 查找/替換標(biāo)簽樹中相匹配的標(biāo)簽,點擊search All 會將所有模糊匹配成功的標(biāo)簽都標(biāo)紅,只有點擊重置搜索,才可恢復(fù) 重置搜索 取消查找標(biāo)記
運行
子菜單功能 啟動 運行啟用狀態(tài)下的線程組 不停頓開始 直接不停頓運行,忽略定時器 停止 停止測試計劃的運行 關(guān)閉 關(guān)閉測試計劃 遠(yuǎn)程啟動 指定一個遠(yuǎn)程代理運行測試計劃 遠(yuǎn)程啟動所有 讓所有遠(yuǎn)程代理運行測試計劃 遠(yuǎn)程停止 指定一個遠(yuǎn)程代理停止運行測試計劃 遠(yuǎn)程停止所有 讓所有遠(yuǎn)程代理停止運行測試計劃 遠(yuǎn)程關(guān)閉 關(guān)閉一個指定的遠(yuǎn)程代理 遠(yuǎn)程關(guān)閉所有 關(guān)閉所有遠(yuǎn)程代理 遠(yuǎn)程退出 指定一個遠(yuǎn)程代理退出執(zhí)行 遠(yuǎn)程退出所有 所有遠(yuǎn)程代理退出執(zhí)行 清除 清除選擇菜單中的運行結(jié)果數(shù)據(jù) 清除全部 清除所有歷史運行結(jié)果數(shù)據(jù)
選項
子菜單功能 外觀 界面展示選擇,主要是字體及背景顏色、邊框線的區(qū)別 日志查看 查看運行日志,啟用后會在標(biāo)簽內(nèi)容下出現(xiàn) 日志級別 選擇需要查看相應(yīng)級別的日志,有6種 SSL管理器 選擇相應(yīng)的SSL證書(在進行https請求時,需要安裝SSL證書),每次重啟jmeter都需要選擇一次 選擇語言 選擇jmeter使用的描述語言 全部折疊 折疊所有標(biāo)簽 全部展開 展開所有標(biāo)簽 放大 放大整個界面的內(nèi)容 縮小 縮小整個界面的內(nèi)容 運行前自動保存 在每次運行測試計劃前都自動保存編輯內(nèi)容
工具
子菜單功能 創(chuàng)建一個堆轉(zhuǎn)儲 創(chuàng)建當(dāng)JVM崩潰的堆轉(zhuǎn)儲(堆轉(zhuǎn)儲是某個時間點應(yīng)用程序內(nèi)存的快照),這個文件可以用堆分析工具(如JHAT),以確定根本原因進行分析 創(chuàng)建一個線程轉(zhuǎn)儲 創(chuàng)建當(dāng)JVM崩潰的線程轉(zhuǎn)儲 (線程轉(zhuǎn)儲是某個時間點在應(yīng)用程序中運行的所有線程的快照) 函數(shù)助手對話框 在編寫腳本的時候,使用函數(shù)助手可以協(xié)助生成指定的代碼,比入隨機碼,正則過濾等 Generate HTML report 將測試結(jié)果輸出為html報告 Compile JSR223 Test Elements 編譯JSR223測試元素 導(dǎo)出交換報告 導(dǎo)出交換報告 Generate Schematic View(alpha) 生成結(jié)構(gòu)數(shù)視圖 Import from cURL 導(dǎo)入
函數(shù)助手對話框:生成相對應(yīng)的函數(shù)字符串
可選函數(shù):
函數(shù)功能 BeanShell 執(zhí)行傳遞的腳本,返回相應(yīng)的結(jié)果 changeCase 更改大小寫功能返回一個字符串值 char 將一串?dāng)?shù)字翻譯成Unicode字符 counter 計數(shù)器,可配置為獨立計數(shù)器(統(tǒng)計測試計劃執(zhí)行了多少次)或者全局計數(shù)器(統(tǒng)計總共請求了多少次) CSVRead 從CSV文件讀取一個字符串,遇到空行停止讀取,遇到逗號斷行,需區(qū)分文件名大小寫。支持從多個文件中讀取 dataTimeConvert 時間戳轉(zhuǎn)為本地時間 digest 摘要函數(shù)在特定的哈希算法中返回加密的值,并帶有可選的salt,大寫字母和變量名 escapeHtml 將字符轉(zhuǎn)換為HTML格式的字符 escapeOroRegexpChars 把正則表達(dá)式轉(zhuǎn)換成Java正則引擎能識別的表達(dá)式 escapeXML 轉(zhuǎn)義字符串中的字符(使用HTML實體),例如,“bread” & "butter"變?yōu)?amp;quot;bread" & "butter" eval 執(zhí)行一個字符串表達(dá)式,并返回執(zhí)行結(jié)果.可以對字符串(存儲在變量中)中的變量和函數(shù)引用做出修改。例如,給定變量name=Smith、column=age、table=birthdays、SQL=select ${column} from ${table} where name=’${name}’,那么通過${__eval(${SQL})},就能執(zhí)行"select age from birthdays where name=‘Smith’" evalVar 執(zhí)行保存在變量中的表達(dá)式,并返回執(zhí)行結(jié)果。用戶可以從文件中讀取一行字符串,并處理字符串中引用的變量。例如,假設(shè)變量 query 中包含有 select ${column} from ${table} ,而 column 和 table 中分別包含有 name 和 customers ,那么${__evalVar(query)}將會執(zhí)行 select name from customers FileToString 用來讀取設(shè)置的整個文件,與StringFromFile區(qū)別在于,StringFromFile讀取的是字符串,并非一次性讀取整個文件 groovy 執(zhí)行Apache Groovy腳本,并返回結(jié)果 intSum 用來計算多個整數(shù)值的和,最后一個指定的包含字母的參數(shù)為其它參數(shù)求和的結(jié)果變量名,結(jié)果變量名非必填 IsPropDefined 判斷屬性是否存在 isVarDefined 判斷變量是否存在 javaScript 執(zhí)行javaScript代碼片段,可作為腳本語言做計算 jexl2 用于執(zhí)行通用JEXL表達(dá)式,并返回執(zhí)行結(jié)果 jexl3 用于執(zhí)行通用JEXL表達(dá)式,并返回執(zhí)行結(jié)果 log 記錄日志,并返回函數(shù)的輸入字符串 logn 記錄日志,返回空字符串 longSum 用來計算多個長整型的和,最后一個指定的包含字母的參數(shù)為其它參數(shù)求和的結(jié)果變量名,結(jié)果變量名非必填 machineIP 返回本地IP地址 machineName 返回本機主機名 p 簡化版的屬性函數(shù),目的是使用命令行中定義的屬性,若默認(rèn)值未設(shè)定,則默認(rèn)為1 property 返回一個Jmeter屬性的值,如果函數(shù)沒有返回屬性值,也沒有指定默認(rèn)值,則將返回屬性的名稱 Random 指定最大值和最小值之間的隨機數(shù),并指定結(jié)果變量名,結(jié)果變量名非必填 RandomDate 返回位于給定開始日期和結(jié)束日期值之間的隨機日期 RandomFromMultipleVars 根據(jù)源變量提供的變量值返回一個隨機值 RandomString 隨機字符串函數(shù) regexFunction 正則表達(dá)式函數(shù),可使用正則表達(dá)式解析之前服務(wù)器響應(yīng)/變量值,也可用于保存變量值,便于后期調(diào)用 samplerName 返回當(dāng)前采樣器的名稱 setProperty 設(shè)置JMeter屬性值,默認(rèn)返回空字符串,屬性對于JMeter是全局的,可以被用來在線程和線程組之間通信 split 通過分隔符來拆分傳遞的字符串,并返回原始的字符串。連接在一起的分隔符將會返回變量值 ?,拖尾的分隔符也會被認(rèn)為缺少一個變量,返回 ? StringFromFile 從文本文件中一行一行地讀取字符串,用于處理大文件數(shù)據(jù),類似于配置元件CSV Data Set Config的功能。打開/讀取文件發(fā)生錯誤時,返回Error StringToFile 用于將字符串寫入文件。每次調(diào)用它時,它都會向文件中寫入一個字符串,并追加或覆蓋該字符串,默認(rèn)返回空字符串 TestPlanName 返回當(dāng)前測試計劃的名稱 threadGroupName 返回當(dāng)前線程組的名字 threadNum 線程編號,無函數(shù)參數(shù),不可使用于配置元件中(不同線程可能擁有相同的線程編號) time 通過設(shè)置不同格式返回當(dāng)前時間 timeShift 計算時間差,不填寫任何參數(shù)則返回當(dāng)前時間 unescape 反轉(zhuǎn)義Java-escaped字符串 unescapeHtml 反轉(zhuǎn)義一個包含HTML實體的字符串,將其變?yōu)榘瑢嶋HUnicode字符的字符串,例如,字符串"<Français>“變?yōu)椤?lt;Fran?ais>" urldecode 使用UTF8編碼方案解密application/x-www-form-urlencoded這種類型的字符串 urlencode 加密一個字符串成為application/x-www-form-urlencoded類型的字符串 UUID 返回偽隨機類型4通用唯一標(biāo)識符(UUID) V 執(zhí)行變量名表達(dá)式,并返回執(zhí)行結(jié)果,可以被用于執(zhí)行嵌套函數(shù)引用 XPath 讀取XML文件,并在文件中尋找與指定XPath相匹配的地方。每調(diào)用函數(shù)一次,就會返回下一個匹配項。到達(dá)文件末尾后,會從頭開始,如果沒有匹配的節(jié)點,那么函數(shù)會返回空字符串,另外,還會向JMeter日志文件寫一條警告信息
函數(shù)參數(shù)函數(shù)參數(shù)描述 TRUE,每個用戶有自己的計數(shù)器;FALSE,使用全局計數(shù)器 指定全局計數(shù)器或者獨立計數(shù)器 存儲結(jié)果的變量名(可選) 指定存儲計數(shù)值的變量
函數(shù)參數(shù)函數(shù)參數(shù)描述 用于獲取值的CSV文件 | *別名 設(shè)置從哪個文件讀取(或者*ALIAS),使用*ALIAS特性可以多次打開同一個文件,另外還能縮減文件名稱 CSV文件列號| next| *alias 從文件的哪一列讀取。0 =第一列, 1 =第二列,依此類推。next為走到文件的下一行。*ALIAS為打開一個文件,并給它分配一個別名
注意: 1、如果希望在輸入的列中使用逗號,那么需要換一個分隔符(通過設(shè)置屬性csvread.delimiter來實現(xiàn)),且該符號沒有在CSV文件的任何列中出現(xiàn) 2、每一個線程都有獨立的內(nèi)部指針指向文件數(shù)組中的當(dāng)前行。當(dāng)某個線程第一次引用文件時,函數(shù)會為線程在數(shù)組中分配下一個空閑行。如此一來,任何一個線程訪問的文件行,都與其他線程不同(除非線程數(shù)大于數(shù)組包含的行數(shù)) 3、當(dāng)對某個文件進行第一次讀取時,文件將被打開并讀取到一個內(nèi)部數(shù)組中,一旦數(shù)據(jù)量大,將會占用大量內(nèi)存空間,因此不適用于大數(shù)據(jù)文件,大數(shù)據(jù)文件可選擇使用StringToFile函數(shù)或者CSV Data Set進行存取
函數(shù)參數(shù)函數(shù)參數(shù)描述 格式化時間 被轉(zhuǎn)換的時間,為空時,表示當(dāng)前時間戳,精確到毫秒 源時間格式 被轉(zhuǎn)換時間轉(zhuǎn)換前的時間格式 目標(biāo)時間格式 被轉(zhuǎn)換時間轉(zhuǎn)換后的時間格式 存儲結(jié)果的變量名(可選) 轉(zhuǎn)換后時間的引用變量名
函數(shù)參數(shù)函數(shù)參數(shù)描述 算法摘要 加密算法,常見的有MD2、MD5、SHA-1、SHA-224、SHA-256、SHA-384、SHA-512 String to be hashed 需加密的字符串 Salt to be used for hashing (optional) 用于計算散列的鹽(可選項) Upper case result, defaults to false (optional) 結(jié)果是否為大寫,默認(rèn)為小寫(False),大寫為True 存儲結(jié)果的變量名(可選) 存儲加密結(jié)果的引用名
函數(shù)參數(shù)函數(shù)參數(shù)描述 輸入文件的全路徑 包含路徑的文件名(路徑可以是相對于JMeter啟動目錄的相對路徑) File encoding if not the platform default (opt) 讀取文件需要用到的文件編碼方式。如果沒有指明就使用平臺默認(rèn)的編碼方式 存儲結(jié)果的變量名(可選) 引用名(refName)用于重用函數(shù)創(chuàng)建的值
函數(shù)參數(shù)函數(shù)參數(shù)描述 JavaScript expression to evaluate 待執(zhí)行的JavaScript代碼片段 存儲結(jié)果的變量名(可選) 指定結(jié)果變量名,方便后期調(diào)用
常見調(diào)用變量:
變量描述 Log 該函數(shù)的日志記錄器 Ctx JmeterContext對象 Vars JmeterVariables對象 threadName 字符串包含當(dāng)前線程名稱 sampler 當(dāng)前采樣器對象 sampleResult 前面的采樣結(jié)果對象 props JMeter屬性對象 通過它的包對象來訪問靜態(tài)方法 example:訪問JMeterContextService靜態(tài)方法 Packages.org.apache.jmeter.threads.JMeterContextService.getTotalThreads()
注意:為文本字符串添加必要的引號以及對類似于逗號一類字符用 \ 進行轉(zhuǎn)義
函數(shù)參數(shù)函數(shù)參數(shù)描述 String to be logged (and returned) 待記錄的字符串 Log level (default INFO) or OUT or ERR 日志級別,OUT、ERR、DEBUG、INFO(默認(rèn))、WARN或者ERROR Throwable text (optional) 可拋棄的文本,如果非空,會創(chuàng)建一個可拋棄的文本傳遞給記錄器 Additional comment (optional) 注釋, 會在字符串中展示,用于標(biāo)識日志記錄了什么
注意:OUT 和ERR的日志級別,將會分別導(dǎo)致輸出記錄到System.out和System.err中。在這種情況下,輸出總是會被打印(它不依賴于當(dāng)前的日志設(shè)置)
函數(shù)參數(shù)函數(shù)參數(shù)描述 String to be logged 待記錄的字符串 Log level (default INFO) or OUT or ERR 日志級別,OUT、ERR、DEBUG、INFO(默認(rèn))、WARN或者ERROR Throwable text (optional) 可拋棄的文本,如果非空,會創(chuàng)建一個可拋棄的文本傳遞給記錄器
注意:OUT 和ERR的日志級別,將會分別導(dǎo)致輸出記錄到System.out和System.err中。在這種情況下,輸出總是會被打印(它不依賴于當(dāng)前的日志設(shè)置)
函數(shù)參數(shù)函數(shù)參數(shù)描述 Format string for DateTimeFormatter (optional) (default yyyy-MM-dd) 生成的隨機日期的格式 開始時間(可選)(默認(rèn):現(xiàn)在) 可取隨機時期開始時間 結(jié)束時間 可取隨機日期結(jié)束時間 String format of a locale (ex: fr_FR , en_EN) (optional) 日期相關(guān)的地區(qū)信息 存儲結(jié)果的變量名(可選) 存儲隨機日期的引用變量名
函數(shù)參數(shù)函數(shù)參數(shù)描述 Source Variable(s) (use | as separator) 源數(shù)據(jù)的變量名,如a|b|c,此時a、b、c均為賦值過的變量,此處不可直接填寫源數(shù)據(jù) Target Variable 隨機獲取到的值的引用變量名
函數(shù)參數(shù)函數(shù)參數(shù)描述 Random string length 隨機字符的長度 Chars to use for random string generation 用來生成隨機字符串的字符,可以是純數(shù)字,純字符,字符字母數(shù)字組合 存儲結(jié)果的變量名(可選) 生成的隨機字符串變量名
函數(shù)參數(shù)函數(shù)參數(shù)描述 用于從前一個請求搜索結(jié)果的正則表達(dá)式 第1個參數(shù)是用于解析服務(wù)器響應(yīng)數(shù)據(jù)的正則表達(dá)式。它會找到所有匹配項。如果測試人員希望將表達(dá)式中的某部分應(yīng)用在模板字符串中,一定記得為其加上圓括號。例如,< a href="(.)" >。這樣就會將鏈接的值存放到第一個匹配組合中(這里只有一個匹配組合)。又如,<input type=“hidden” name="(.)“value=”(.*)">。在這個例子中,鏈接的name作為第一個匹配組合,鏈接的value會作為第二個匹配組合。這些組合可以用在測試人員的模板字符串中(必填項) Template for the replacement string, using groups from the regular expression. Format is [group][group] [ g r o u p ] . Example 11 1 . 這是一個模板字符串,函數(shù)會動態(tài)填寫字符串的部分內(nèi)容。要在字符串中引用正則表達(dá)式捕獲的匹配組合,請使用語法:[groupnumber][group_number] [ g r o u p n ? u m b e r ] 。例如11 1 或者 22 2 (必填項) Which match to use. An integer 1 or greater, RAND to indicate JMeter should randomly choose, A float, or ALL indicating all matches should be used ([1]) 第3個參數(shù)告訴JMeter使用第幾次匹配。填寫的正則表達(dá)式可能會找到多個匹配項。對此,有4種選擇:整數(shù),直接告訴JMeter使用第幾個匹配項。"1"對應(yīng)第一個匹配,"2"對應(yīng)第二個匹配,以此類推;RAND,告訴JMeter隨機選擇一個匹配項;ALL,告訴JMeter使用所有匹配項,為每一個匹配項創(chuàng)建一個模板字符串,并將它們連接在一起;浮點值0到1之間,根據(jù)公式(找到的總匹配數(shù)目*指定浮點值)計算使用第幾個匹配項,計算值向最近的整數(shù)取整 。默認(rèn)為1(非必填項) Between text. If ALL is selected, the between text will be used to generate the results ([""]) 如果在上一個參數(shù)中選擇了“ALL”,那么這個參數(shù)會被插入到重復(fù)的模板值之間(非必填項) Default text. Used instead of the template if the regular expression finds no matches ([""]) 如果沒有找到匹配項返回的默認(rèn)值(非必填項) 存儲結(jié)果的變量名(可選) 重用函數(shù)解析值的引用名,如果輸入"refName"作為該參數(shù)變量名,則:$ {refName}為第2個參數(shù)(Template for the replacement string)的計算結(jié)果;$ {refName_g0}為函數(shù)解析后發(fā)現(xiàn)的所有匹配結(jié)果;$ {refName_g1}為函數(shù)解析后發(fā)現(xiàn)的第一個匹配組合;$ {refName_gN}為函數(shù)解析后發(fā)現(xiàn)的第N個匹配組合;${refName_matchNr}為函數(shù)總共發(fā)現(xiàn)的匹配組合數(shù)目 (非必填項) Input variable name containing the text to be parsed ([previous sample]) 輸入變量名稱。如果指定了這一參數(shù),那么該變量的值就會作為函數(shù)的輸入,而不再使用前面的采樣結(jié)果作為搜索對象(非必填項)
函數(shù)參數(shù)函數(shù)參數(shù)描述 屬性名稱 待設(shè)置的屬性名 Value of property 屬性的值 Return Original Value of property (default false)? 是否返回屬性的初始值,選擇True的話,函數(shù)會返回該屬性的初始值
函數(shù)參數(shù)函數(shù)參數(shù)描述 String to split 待拆分的字符串 函數(shù)名稱。用于存儲在測試計劃中其他的方式使用的值。 重用函數(shù)計算值的引用名稱 String to split on. Default is , (comma). 分隔符,默認(rèn)使用逗號作為分隔符,若手動設(shè)置逗號為空格符,則需要對逗號進行轉(zhuǎn)義:\,
函數(shù)參數(shù)函數(shù)參數(shù)描述 輸入文件的全路徑 文件名(可以使用相對于JMeter啟動目錄的相對路徑)。如果要在文件名中使用可選的序列號,那么文件名必須適合轉(zhuǎn)成十進制格式,文件名需要使用格式字符串java.text.DecimalFormat。如果要在文件名中使用可選的序列號,當(dāng)前的序列號會作為唯一的參數(shù)。如果不指明可選的初始序列號,就使用文件名作為起始值。一些有用的格式序列如下:#:插入數(shù)字,不從零開始,不包含空格(pin#:pin1,pin2,…);000:插入數(shù)字,包含3個數(shù)字組合,不從零開始(pin000:pin001,pin002,…) 存儲結(jié)果的變量名(可選) 一個引用名(refName),目的是復(fù)用這一函數(shù)創(chuàng)建的值。可以使用語法${refName}來引用函數(shù)創(chuàng)建的值。默認(rèn)值為“StringFromFile_” Start file sequence number (opt) 初始序列號(如果省略這一參數(shù),終止序列號會作為一個循環(huán)計數(shù)器) Final file sequence number (opt) 終止序列號(如果省略這一參數(shù),序列號會一直增加下去,不會受到限制)
注意:如果不希望某個格式字符被翻譯,需要為它加上單引號,如"."是格式字符,必須被單引號所包含
函數(shù)參數(shù)函數(shù)參數(shù)描述 Path to file (absolute) 文件名的路徑(路徑為絕對路徑) String to write 要寫入文件的字符串,如果需要在內(nèi)容中插入換行符,請在字符串中使用\n Append to file (true appends, false overwrites, default true) 寫入字符串的方法,true表示追加,false表示覆蓋。如果未指定,則默認(rèn)附加為true Charset (defaults to UTF-8) 用于寫入文件的編碼。如果未指定,則默認(rèn)編碼為UTF-8
函數(shù)參數(shù)函數(shù)參數(shù)描述 Format string for SimpleDateFormat (optional) 當(dāng)前時間返回的格式,默認(rèn)以毫秒的形式返回當(dāng)前時間 存儲結(jié)果的變量名(可選) 結(jié)果返回的變量名
時間采用的格式:
時間格式描述 YMd yyyyMMdd,年月日,eg:20211020 Hms HHmmss,時分秒,eg:173440 YMdHms 年月日時分秒,eg:2021102931710653
函數(shù)參數(shù)函數(shù)參數(shù)描述 Format string for DateTimeFormatter (optional) (default unix timestamp in millisecond) 格式化時間,如果不填,時間戳精確到毫秒,如果填了,就格式化輸出時間 轉(zhuǎn)換時間(可選)(默認(rèn):現(xiàn)在) 需進行處理的時間 Amount of seconds/minutes/hours/days to add (e.g. P2D : plus two days) (optional) 時間位移,第一位:負(fù)號或正號,負(fù)號表示整個時間相減;正號或者不填表示相加;第二位p或者P,表示后面跟具體位移數(shù)和單位;第三位:數(shù)字+單位’D’,表示天;第四位:‘T’,表示后面跟時分秒和單位;第五位:數(shù)字+單位’H’,表示小時;第六位:數(shù)字+‘M’,表示分鐘,第七位:數(shù)字+‘S’,表示秒。數(shù)字可以是正數(shù)或負(fù)數(shù);天\時\分 前的數(shù)字為整數(shù),秒,可以是小數(shù)。如在當(dāng)前日期上增加 2 天 4 小數(shù) 6 分 10.234 秒:p2dt4h6m10.234s)} String format of a locale (ex: fr_FR , en_EN) (optional) 區(qū)域語言 存儲結(jié)果的變量名(可選) 計算后結(jié)果的引用變量名
eg:存在變量A1、A2和N=1 ${A1} = A1變量的值 ${A${N}}:無法正常工作(嵌套變量引用) ${__V(A${N})}:可以正常工作。A${N}變?yōu)锳1,函數(shù) __V返回變量值A(chǔ)1
函數(shù)參數(shù)函數(shù)參數(shù)描述 XML file to get values from 一個待解析的XML文件名 XPath expression to match against 一個XPath表達(dá)式,用于在XML文件中尋找目標(biāo)節(jié)點
使用時可參考網(wǎng)上XPath表達(dá)式語法
Generate HTML report
點擊Generate report: 生成的測試報告: 注:jmeter.properties文件中有個output_format的屬性配置,如果不是默認(rèn)的csv格式,在生成報告時,會報錯
幫助
子菜單描述 幫助 點擊后跳轉(zhuǎn)至Apache JMeter官方使用文檔介紹界面 這個節(jié)點是什么? 點擊后將在控制臺打印出當(dāng)前選中標(biāo)簽的GUI 和測試元件的類名 調(diào)試開 開啟debug調(diào)試日志記錄 調(diào)試關(guān) 關(guān)閉debug調(diào)試日志記錄 有用的鏈接 點擊后可訪問apache Jmeter官網(wǎng)版本發(fā)布信息、發(fā)布頁、組件介紹、變量屬性介紹 等鏈接 關(guān)于Apache JMetre 當(dāng)前使用的Apache JMetre的版本信息
常用工具欄
從菜單欄提取出來的常用工具,鼠標(biāo)懸浮可展示圖標(biāo)功能
測試計劃標(biāo)簽及內(nèi)容
線程(用戶)
子菜單描述 setUp線程組 在其他線程執(zhí)行開始前自動執(zhí)行的預(yù)操作,一般用于準(zhǔn)備測試數(shù)據(jù) tearDown線程組 在所有線程執(zhí)行完畢后自動執(zhí)行,一般用于測試清理工作,刪除數(shù)據(jù)、回收等 線程組 正式執(zhí)行的普通線程組
配置元件:
子菜單描述 CSV Data Set Config 導(dǎo)入批量數(shù)據(jù),用來模擬大量用戶并發(fā)場景 HTTP信息頭管理 設(shè)置HTTP頭部信息 HTTP Cookie管理器 Cookie管理器,會在登錄成功后,自動存儲cookie值,用于之后的請求 HTTP緩存管理器 向HTTP請求添加緩存,模擬瀏覽器緩存功能。會對照當(dāng)前時間檢查“Cache-Control/Expires”值。如果請求是GET請求,并且時間戳記在緩存之后,則取樣器將立即返回,而無需從遠(yuǎn)程服務(wù)器請求URL HTTP請求默認(rèn)值 設(shè)置請求默認(rèn)攜帶的param參數(shù)、請求,每次請求將會自動攜帶該部分信息 Bolt Connection Configuration 提供給Bolt Request取樣器使用的Bolt連接池(表示咱目前不懂) DNS緩存管理器 允許測試在負(fù)載平衡器(CDN等)后面有多個服務(wù)器的應(yīng)用程序;在每次迭代時分別解析每個線程的名稱,并將解析結(jié)果保存到其內(nèi)部DNS緩存中,該緩存獨立于JVM和系統(tǒng)DNS緩存 FTP默認(rèn)請求 FTP(文件傳輸協(xié)議)默認(rèn)請求,配置相應(yīng)請求信息進行上傳或者下載文件 HTTP授權(quán)管理器 設(shè)置自動對一些需要驗證的頁面進行驗證和登錄 JDBC Connection Configuration 數(shù)據(jù)庫連接設(shè)置,需下載相應(yīng)的數(shù)據(jù)庫連接jar包使用 Java默認(rèn)請求 配合java 請求使用,設(shè)置請求時攜帶的默認(rèn)值,每個java請求都會攜帶該配置中的值 Keystore Configuration 秘鑰庫配置,允許配置密鑰庫的加載方式以及它將使用的密鑰,通常用于HTTPS方案中,在響應(yīng)時間內(nèi)不考慮秘鑰初始化時間 LDAP擴展請求默認(rèn)值 配合LDAP默認(rèn)請求使用,設(shè)置請求默認(rèn)值(LDAP:輕型訪問目錄協(xié)議) LDAP默認(rèn)請求 向LDAP服務(wù)器發(fā)送不同的LDAP請求(添加、修改、刪除和搜索) (LDAP:輕型訪問目錄協(xié)議) Random Variable 隨機變量 TCP取樣器配置 配合TCP取樣器發(fā)送TCP協(xié)議請求 用戶定義的變量 配置用戶常使用的默認(rèn)變量值 登陸配置元件/素 用來配置取樣器驗證的默認(rèn)用戶名和密碼,如可配置所要測試的服務(wù)器的用戶名和密碼 簡單配置元件 允許在取樣器中添加或覆蓋任意值,主要是供開發(fā)人員在開發(fā)新的JMeter組件時使用的基本GUI 計數(shù)器 根據(jù)配置的遞增規(guī)則,產(chǎn)生遞增的變量值
監(jiān)聽器:可參考 https://copyfuture.com/blogs-details/202008041651527922ld7vnymru0bwps 但更推薦查看官網(wǎng)描述
子菜單描述 查看結(jié)果樹 展示每一個取樣器的結(jié)果、請求信息和響應(yīng)信息,可以查看這些內(nèi)容分析腳本是否存在問題,請求是否出錯 匯總報告 為測試中的每個不同命名的請求創(chuàng)建一個表行,統(tǒng)計測試數(shù)據(jù),分析被測系統(tǒng)的性能,相比較聚合報告消耗更低的內(nèi)存 聚合報告 統(tǒng)計測試數(shù)據(jù),分析測試被測系統(tǒng)的性能 后端監(jiān)聽器 異步偵聽器,可以將數(shù)據(jù)推入都數(shù)據(jù)庫中 JSR223 Listener JSR223腳本代碼應(yīng)用于示例結(jié)果,得出自己想要的結(jié)果格式 保存響應(yīng)到文件 創(chuàng)建一個響應(yīng)數(shù)據(jù)文件。它的主要用途是創(chuàng)建功能測試,也可以應(yīng)用于因響應(yīng)太大而無法顯示在視圖結(jié)果樹偵聽器中的場景 響應(yīng)時間圖 查看整個請求過程響應(yīng)時間的變化圖 圖形結(jié)果 以曲線圖展示出TPS、響應(yīng)時間、偏差等數(shù)據(jù) 斷言結(jié)果 可以文件形式保存測試過程中的所有請求斷言結(jié)果 比較斷言可視化器 顯示任何比較斷言元素的結(jié)果 匯總圖 表格數(shù)據(jù)結(jié)果展示成圖表 生成概要結(jié)果 在日志文件和/或標(biāo)準(zhǔn)輸出中生成到目前為止的測試運行摘要。顯示運行和差異總計。在適當(dāng)?shù)臅r間邊界上,每n秒(默認(rèn)為30秒)生成一次輸出,以便同步在同一時間上的多個測試運行 用表格查看結(jié)果 為每個示例結(jié)果創(chuàng)建一行,與查看結(jié)果樹一樣,使用大量內(nèi)存 簡單數(shù)據(jù)寫入器 將結(jié)果記錄到文件中,但不能記錄到UI中。它旨在通過消除GUI開銷來提供記錄數(shù)據(jù)的有效方法 郵件觀察儀 可在服務(wù)器多次響應(yīng)失敗時,使用該元件發(fā)送email BeanShell Listener 允許使用BeanShell處理樣本以進行保存等
定時器:
作用域: 1、定時器是在每個sampler(采樣器)之前執(zhí)行的,而不是之后(無論定時器位置在sampler之前還是下面); 2、當(dāng)執(zhí)行一個sampler之前時,所有當(dāng)前作用域內(nèi)的定時器都會被執(zhí)行; 3、如果希望定時器僅應(yīng)用于其中一個sampler,則把定時器作為子節(jié)點加入
子菜單描述 固定定時器 控制請求的時間間隔,延遲請求到達(dá)服務(wù)器的時間,模擬真實用戶的行為;獲取服務(wù)端某些數(shù)據(jù)之前加固定定時器,用以確保之前的請求已經(jīng)在服務(wù)端生成了數(shù)據(jù)。(固定定時器的延時不會計入單個sampler的響應(yīng)時間,但會計入事務(wù)控制器的時間) 統(tǒng)一隨機定時器 控制請求的時間間隔,延遲請求到達(dá)服務(wù)器的時間。這個延遲的時間是隨機的,延時時間在指定范圍內(nèi)且每個時間的取值概率相同,每個時間間隔都有相同的概率發(fā)生,總的延遲時間就是隨機值和偏移值之和:總的延時 = 固定延遲時間 + 隨機生成的延時 Precise Throughput Timer 精確吞吐量計時器,此計時器引入了可變暫停,計算的目的是使總吞吐量(例如,以每分鐘樣本數(shù)為單位)盡可能接近給定的數(shù)字)。用于揭發(fā)并發(fā)問題 Constant Throughput Timer 常數(shù)吞吐量定時器,此計時器引入可變暫停,計算時使總吞吐量(以每分鐘樣本數(shù)為單位)盡可能接近給定的數(shù)字,盡管計時器被稱為恒定吞吐量計時器,但吞吐量值不需要恒定。它可以通過變量或函數(shù)調(diào)用來定義,并且可以在測試期間更改值 JSR223 Timer 用于使用JSR223腳本語言生成延遲 Synchronizing Timer 同步定時器,將相同請求的線程組集合到一起進行釋放,可以瞬間產(chǎn)生很大的壓力,模擬并發(fā)測試 泊松隨機定時器 在每個線程請求之前按隨機的時間停頓(這個隨機時間符合泊松分布,更符合自然停頓時間),大部分的時間間隔出現(xiàn)在一個特定的值,總的延遲就是泊松分布值和偏移值之和 高斯隨機定時器 在每個線程請求之前按隨機的時間停頓(這個隨機時間符合高斯分布,更符合自然停頓時間),總的延時 = 固定延遲時間 + 高斯隨機生成的偏差值 BeanShell Timer 用于自定義編程設(shè)置取樣器延時時間
Precise Throughput Timer 配置元素:
元素描述 Target throughput (in samples per ‘throughput period’) 每個“吞吐量周期”(包括組中的所有線程)從所有受影響的采樣器獲取的最大樣本數(shù)吞吐量周期 Throughput period (seconds) 吞吐量周期。例如,如果“吞吐量”設(shè)置為42,“吞吐量周期”設(shè)置為21秒,則每秒將獲得2個樣本 Test duration (seconds) 這用于確保在“測試持續(xù)時間”時間段內(nèi)獲得吞吐量*持續(xù)時間樣本。 Number of threads in the batch (threads) 如果該值超過1,則多個線程同時離開計時器。平均吞吐量仍然滿足“吞吐量”值 Delay between threads in the batch (ms) 例如,如果設(shè)置為42,且批大小為3,則線程將在x、x+42ms、x+84ms處離開 Random seed (change from 0 to random) 注意:不同的計時器最好具有不同的種子值。恒定種子確保計時器在每次測試啟動時產(chǎn)生相同的延遲。值“0”表示計時器是真正隨機的(從一個執(zhí)行到另一個執(zhí)行不可重復(fù))。。
Constant Throughput Timer配置元素:
元素描述 Target throughput(in samples per minute) 目標(biāo)吞吐量(單位分鐘),即每分鐘要求發(fā)出的吞吐量(QPS) Calculate Throughput based on 計算吞吐量策略 This thread only 僅對當(dāng)前線程,也就是每個線程相互是不干擾的,都互相分開計算需要多少延遲時間(總吞吐量=Target throughput乘以線程數(shù) All active threads 設(shè)置的target Throughput 將分配在每個活躍線程上,每個活躍線程在上一次運行結(jié)束后等待合理的時間后再次運行。活躍線程指同一時刻同時運行的線程 All active threads in current thread group 設(shè)置的target Throughput將分配在當(dāng)前線程組的每一個活躍線程上,當(dāng)測試計劃中只有一個線程組時,該選項和All active threads選項的效果完全相同 All active threads(shared) 線程延遲計算是基于任意一個線程上次運行的時間,也就是隨便獲取一個線程的運行時間來計算,既然是隨機,結(jié)果就不一定準(zhǔn)確,所以只能是努力控制吞吐量在某一個范圍 All active threads in current thread group (shared) 在當(dāng)前線程組中任取一個線程的上次運行時間來計算延時,與上面意思相近
Synchronizing Timer 配置元素:
元素描述 Number of Simulated users to Group by 集合點集合夠N個用戶開始并發(fā),如果設(shè)置為0,等同于設(shè)置為線程租中的線程數(shù)量 Timeout in milliseconds 如果設(shè)置為0,Timer將會等待線程數(shù)達(dá)到了“Number of Simultaneous Users toGroup”中設(shè)置的值才釋放。如果大于0,那么如果超過Timeout inmilliseconds中設(shè)置的最大等待時間(毫秒為單位)后還沒達(dá)到“Number of Simultaneous Users toGroup”中設(shè)置的值,Timer將不再等待,釋放已到達(dá)的線程。默認(rèn)為0
前置處理器:在取樣之前運行
子菜單描述 JSR223 PreProcessor 使用JSR223腳本獲取取樣器所需要的的準(zhǔn)備數(shù)據(jù),如登錄時對相關(guān)傳參進行加密 用戶參數(shù) 對不同用戶設(shè)置相應(yīng)的傳參變量 HTML鏈接解析器 用于從前一個sampler返回的html頁面中按照規(guī)則解析鏈接和表單(input/textarea/select/option等),再根據(jù)此處理器所在的sampler中的規(guī)則進行匹配修改 HTTP URL 重寫修飾器 專用于使用url重寫來存儲sessionId而非cookie的http request。Session Argument Name參數(shù):sessionID存儲的名稱。應(yīng)用場景:系統(tǒng)只允許登錄成功的用戶才可以訪問系統(tǒng),當(dāng)用戶登錄成功后返回一個SessionID(或者JsessionId)給用戶,后續(xù)訪問都需要驗證這個SessionID JDBC PreProcessor 數(shù)據(jù)庫預(yù)處理器,用于在sample開始前查詢數(shù)據(jù)庫并獲取一些值,參考JDBC Request 取樣器超時 用于設(shè)定sample的超時時間,如果完成時間過長,此預(yù)處理器會調(diào)度計時器任務(wù)以中斷樣本 正則表達(dá)式用戶參數(shù) 使用正則表達(dá)式為從另一個HTTP請求中提取的HTTP參數(shù)指定動態(tài)值,配合regular expression extractor使用 BeanShell PreProcessor 使用java腳本獲取取樣器所需要的的準(zhǔn)備數(shù)據(jù),如登錄時對相關(guān)傳參進行加密
后置處理器:發(fā)出“取樣器請求”之后執(zhí)行一些操作
子菜單描述 CSS/Query提取器 通過css選擇器定位頁面元素并讀取數(shù)據(jù) JSON JMESPath Extractor 使用JMESPath查詢語言從Json結(jié)果中提取值,只支持提取一個變量 JSON提取器 使用JSON-PATH語法從JSON格式的響應(yīng)中提取數(shù)據(jù),支持提取多個個變量 正則表達(dá)式提取器 使用正則表達(dá)式從服務(wù)器響應(yīng)中提取值 邊界提取器 填寫左右邊界提取服務(wù)器響應(yīng)的值 JSR223 PostProcessor 使用JSR223腳本提取服務(wù)器響應(yīng)值 Debug PostProcessor 調(diào)試后置處理程序,腳本調(diào)試,察看結(jié)果樹可以看到取樣器的相關(guān)變量、系統(tǒng)相關(guān)屬性、JMeter相關(guān)變量與屬性 JDBC PostProcessor JDBC后置處理器,相當(dāng)于JDBC Request,可發(fā)送JDBC請求 XPath2 Extractor 可以使用XPath2查詢語言從結(jié)構(gòu)化響應(yīng)(XML或(X)HTML)中提取值 XPath提取器 提取請求返回的消息為xml或html格式的數(shù)據(jù) 結(jié)果狀態(tài)處理器 控制請求遇到錯誤后執(zhí)行的操作 BeanShell PostProcessor jBeanShell后置處理器,可使用java編寫腳本處理服務(wù)器響應(yīng)內(nèi)容或者提取響應(yīng)值
斷言:
子菜單描述 響應(yīng)斷言 對各種返回類型的結(jié)果進行斷言 JSON斷言 針對響應(yīng)結(jié)果是applicaton/json格式的請求進行斷言 大小斷言 對服務(wù)器響應(yīng)返回的結(jié)果字節(jié)大小進行斷言 JSR223 Assertion 針對取樣器中的JSR223 sampler而使用的斷言 XPath2 Assertion 斷言測試文檔的格式是否良好 Compare Assertion 比較斷言可用于比較其范圍內(nèi)的樣本結(jié)果。可以比較內(nèi)容或經(jīng)過的時間,并且可以在比較之前過濾內(nèi)容。斷言比較可以在“ 比較斷言可視化器”中看到,負(fù)載測試中不可使用,因為它消耗大量資源(內(nèi)存和CPU) HTML斷言 針對sampler中的SOAP/XML-RPC Request而使用的斷言 JSON JMESPath Assertion 使用JMESPath對JSON文檔內(nèi)容執(zhí)行斷言 MD5Hex斷言 允許用戶檢查響應(yīng)數(shù)據(jù)的MD5 hash SMIME斷言 用于評估來自郵件閱讀器采樣器的樣本結(jié)果,此斷言驗證郵件消息的主體是否已簽名。簽名也可以針對特定的簽名者證書進行驗證 XML Schema斷言 對返回結(jié)果為xml-schema xml模式數(shù)據(jù)類型的消息進行斷言 XML斷言 判斷返回結(jié)果是否和xml的格式即<></>成對出現(xiàn),即測試響應(yīng)數(shù)據(jù)包含形式正確的XML文檔 XPath斷言 針對返回信息為XPAth的數(shù)據(jù)類型進行斷言 斷言持續(xù)時間 在限定的時間內(nèi)得到響應(yīng)數(shù)據(jù),如果響應(yīng)時間大于設(shè)置的響應(yīng)時間,則斷言失敗,否則成功 BeanShell斷言 針對sampler中的Bean Shell sampler而使用的斷言
測試片段:
非測試元件:
子菜單描述 HTTP代理服務(wù)器 錄制腳本使用,作為web瀏覽器代理,對瀏覽器請求進行腳本錄制 HTTP鏡像服務(wù)器 屬性顯示
取樣器:
子菜單描述 HTTP請求 HTTP請求取樣器,發(fā)送http或者h(yuǎn)ttps請求 測試活動 Debug Sampler 可以將其元組范圍內(nèi)的變量進行輸出,輸出結(jié)果包含在相應(yīng)數(shù)據(jù)中,元組范圍指的是該元組可以調(diào)用的所有變量,都會進行輸出,變量的來源一般是以下幾種:用戶自定義變量,正則表達(dá)式提取的變量,用戶定義的全局變量,參數(shù)文件導(dǎo)入的變量 JSR223 Sampler AJP/1.3 取樣器 Access Log Sampler BeanShell取樣器 Bolt Request FTP請求 GraphQL HTTP Request JDBC Request JDBC請求取樣器 JMS發(fā)布 JMS點到點 JMS訂閱 JUnit請求 Java請求 LDAP擴展請求默認(rèn)值 LDAP請求 OS進程取樣器 SMTP取樣器 TCP取樣器 WebSocket Sampler WebSocket取樣器 郵件閱讀者取樣器
邏輯控制器:參考https://www.cnblogs.com/du-hong/category/1149349.html?page=1
子菜單描述 如果(if)控制器 實現(xiàn)了代碼中IF的功能,通過判斷表達(dá)式的True/False來判定是否執(zhí)行相應(yīng)的操作 事務(wù)控制器 事務(wù)控制器可以把其他節(jié)點下的取樣器執(zhí)行消耗時間累加在一起,便于統(tǒng)計其響應(yīng)時間、吞吐量等 循環(huán)控制器 控制在其節(jié)點下的元件的執(zhí)行次數(shù),可以是具體數(shù)字,也可以是變量 While控制器 其節(jié)點下的元件將一直運行直到While 條件為false ForEach控制器 一般搭配用戶變量使用。依次調(diào)用用戶定義的變量,直到最后一個,結(jié)束循環(huán);為了滿足ForEach Controller提取數(shù)據(jù),變量命名的格式一般為“變量名_數(shù)字”,其中數(shù)字從1開始 Include控制器 導(dǎo)入外部的測試片段(非完整的測試計劃),在執(zhí)行時會執(zhí)行導(dǎo)入的測試計劃,但是被導(dǎo)入的測試計劃有特殊要求,它不能有線程組,只能包含簡單的控制器及控制器下的元件。換句話說就是相當(dāng)于加了一個執(zhí)行單元,一個封裝了的業(yè)務(wù)操作單元,類似我們程序開發(fā)中的函數(shù)(方法)一樣 Runtime控制器 用來控制其子元件的執(zhí)行時長。市場單位是秒(Runtime默認(rèn)為1,去掉1則默認(rèn)為0,此時不執(zhí)行其節(jié)點下的元件。與線程組中的調(diào)度器的持續(xù)時間 效果一致;如果線程組中設(shè)置了持續(xù)時間,Runtime 控制器也設(shè)置了 運行時間,那么會優(yōu)先于線程組中的設(shè)置。) 臨界部分控制器 控制它的子元素(samplers /控制器等)在執(zhí)行控制器的子程序之前只執(zhí)行一個線程作為指定的鎖,使其按順序執(zhí)行取樣器和線程循環(huán) 僅一次控制器 通常用于控制需要登錄的請求,測試過程中,我們往往都只需要登錄一次,獲取到對應(yīng)的登錄信息后即可執(zhí)行后續(xù)相關(guān)的請求,而不是每執(zhí)行一個請求都登錄一次,如將login請求放入僅一次控制器,則在線程組循環(huán)運行期間,不論循環(huán)次數(shù)設(shè)置為多少次,login請求都將僅在第一次執(zhí)行時運行 錄制控制器 實際上它是一個位置,當(dāng)我們用JMeter代理進行錄制時,錄制的腳本默認(rèn)放在此控制器的節(jié)點下面。沒有實際的邏輯作用,我們用簡單控制器也可以代替它 簡單控制器 簡單控制器可以被模塊控制器所引用,其作用就是分組 交替控制器 根據(jù)被控制器觸發(fā)執(zhí)行次數(shù),去依次執(zhí)行控制器下的子節(jié)點<邏輯控制器、采樣器>。被觸發(fā)執(zhí)行可以由線程組的線程數(shù)、循環(huán)次數(shù)、邏輯控制器觸發(fā),每個線程只執(zhí)行次控制器下的一個子節(jié)點 隨機控制器 節(jié)點下的元件隨機運行,與交替控制器不一樣的是節(jié)點下的元件運行順序不定 隨機順序控制器 隨機順序控制器是將節(jié)點下的所有子節(jié)點都正常執(zhí)行,只是將執(zhí)行順序打亂 吞吐量控制器 用來控制其下元件的執(zhí)行次數(shù),并無控制吞吐量的功能(1、吞吐量控制器有兩種模式:Total Executions:設(shè)置運行次數(shù)與Percent Executions:設(shè)置運行比例(1~100之間);2、Per User:線程數(shù),當(dāng)選Total Executions時,是線程數(shù);當(dāng)選percent Executions時,是線程數(shù)*循環(huán)次數(shù)) Switch控制器 開關(guān)控制器,通過其下樣例順序數(shù)值或名稱 控制執(zhí)行某一個樣例 模塊控制器 可以快速的切換腳本,不用來回的新建,方便腳本調(diào)試,是從內(nèi)部文件中引用,引用上相對比較靈活,可以只引用部分測試片段或模塊內(nèi)容,包括控制器是從外部文件引用,只能引用整個測試片段的內(nèi)容
總結(jié)
以上是生活随笔 為你收集整理的Jmeter-界面功能介绍 的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔 網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔 推薦給好友。