日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Jmeter-界面功能介绍

發(fā)布時間:2023/12/16 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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 TestJDBC壓力測試(JDBC java數(shù)據(jù)庫)
MongoDB Load TestMongoDB壓力測試
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)))

  • 選中計劃,點擊編輯(或者右擊鼠標(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文檔
  • 選中線程,點擊編輯(或者右擊鼠標(biāo)):
子菜單功能
添加添加線程下的相關(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)至介紹線程組使用的官方文檔
  • 選中取樣器,點擊編輯(或者右擊鼠標(biāo))
子菜單功能
添加在取樣器下添加相關(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&quot
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日志文件寫一條警告信息
  • counter
函數(shù)參數(shù)函數(shù)參數(shù)描述
TRUE,每個用戶有自己的計數(shù)器;FALSE,使用全局計數(shù)器指定全局計數(shù)器或者獨立計數(shù)器
存儲結(jié)果的變量名(可選)指定存儲計數(shù)值的變量
  • CSVRead
函數(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進行存取

  • dataTimeConvert
函數(shù)參數(shù)函數(shù)參數(shù)描述
格式化時間被轉(zhuǎn)換的時間,為空時,表示當(dāng)前時間戳,精確到毫秒
源時間格式被轉(zhuǎn)換時間轉(zhuǎn)換前的時間格式
目標(biāo)時間格式被轉(zhuǎn)換時間轉(zhuǎn)換后的時間格式
存儲結(jié)果的變量名(可選)轉(zhuǎn)換后時間的引用變量名
  • digest
函數(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é)果的引用名
  • FileToString
函數(shù)參數(shù)函數(shù)參數(shù)描述
輸入文件的全路徑包含路徑的文件名(路徑可以是相對于JMeter啟動目錄的相對路徑)
File encoding if not the platform default (opt)讀取文件需要用到的文件編碼方式。如果沒有指明就使用平臺默認(rèn)的編碼方式
存儲結(jié)果的變量名(可選)引用名(refName)用于重用函數(shù)創(chuàng)建的值
  • javaScript
函數(shù)參數(shù)函數(shù)參數(shù)描述
JavaScript expression to evaluate待執(zhí)行的JavaScript代碼片段
存儲結(jié)果的變量名(可選)指定結(jié)果變量名,方便后期調(diào)用

常見調(diào)用變量:

變量描述
Log該函數(shù)的日志記錄器
CtxJmeterContext對象
VarsJmeterVariables對象
threadName字符串包含當(dāng)前線程名稱
sampler當(dāng)前采樣器對象
sampleResult前面的采樣結(jié)果對象
propsJMeter屬性對象
通過它的包對象來訪問靜態(tài)方法example:訪問JMeterContextService靜態(tài)方法 Packages.org.apache.jmeter.threads.JMeterContextService.getTotalThreads()

注意:為文本字符串添加必要的引號以及對類似于逗號一類字符用 \ 進行轉(zhuǎn)義

  • log
函數(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è)置)

  • logn
函數(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è)置)

  • RandomDate
函數(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é)果的變量名(可選)存儲隨機日期的引用變量名
  • RandomFromMultipleVars


函數(shù)參數(shù)函數(shù)參數(shù)描述
Source Variable(s) (use | as separator)源數(shù)據(jù)的變量名,如a|b|c,此時a、b、c均為賦值過的變量,此處不可直接填寫源數(shù)據(jù)
Target Variable隨機獲取到的值的引用變量名
  • RandomString
函數(shù)參數(shù)函數(shù)參數(shù)描述
Random string length隨機字符的長度
Chars to use for random string generation用來生成隨機字符串的字符,可以是純數(shù)字,純字符,字符字母數(shù)字組合
存儲結(jié)果的變量名(可選)生成的隨機字符串變量名
  • regexFunction
函數(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][group]. Example 111.這是一個模板字符串,函數(shù)會動態(tài)填寫字符串的部分內(nèi)容。要在字符串中引用正則表達(dá)式捕獲的匹配組合,請使用語法:[groupnumber][group_number][groupn?umber]。例如111或者 222 (必填項)
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é)果作為搜索對象(非必填項)
  • setProperty
函數(shù)參數(shù)函數(shù)參數(shù)描述
屬性名稱待設(shè)置的屬性名
Value of property屬性的值
Return Original Value of property (default false)?是否返回屬性的初始值,選擇True的話,函數(shù)會返回該屬性的初始值
  • split
函數(shù)參數(shù)函數(shù)參數(shù)描述
String to split待拆分的字符串
函數(shù)名稱。用于存儲在測試計劃中其他的方式使用的值。重用函數(shù)計算值的引用名稱
String to split on. Default is , (comma).分隔符,默認(rèn)使用逗號作為分隔符,若手動設(shè)置逗號為空格符,則需要對逗號進行轉(zhuǎn)義:\,
  • StringFromFile
函數(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ù),序列號會一直增加下去,不會受到限制)

注意:如果不希望某個格式字符被翻譯,需要為它加上單引號,如"."是格式字符,必須被單引號所包含

  • StringToFile
函數(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
  • time
函數(shù)參數(shù)函數(shù)參數(shù)描述
Format string for SimpleDateFormat (optional)當(dāng)前時間返回的格式,默認(rèn)以毫秒的形式返回當(dāng)前時間
存儲結(jié)果的變量名(可選)結(jié)果返回的變量名

時間采用的格式:

時間格式描述
YMdyyyyMMdd,年月日,eg:20211020
HmsHHmmss,時分秒,eg:173440
YMdHms年月日時分秒,eg:2021102931710653
  • timeShift
函數(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é)果的引用變量名
  • V

eg:存在變量A1、A2和N=1
${A1} = A1變量的值
${A${N}}:無法正常工作(嵌套變量引用)
${__V(A${N})}:可以正常工作。A${N}變?yōu)锳1,函數(shù) __V返回變量值A(chǔ)1

  • XPath
函數(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 ListenerJSR223腳本代碼應(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 PostProcessorJDBC后置處理器,相當(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 PostProcessorjBeanShell后置處理器,可使用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 RequestJDBC請求取樣器
JMS發(fā)布
JMS點到點
JMS訂閱
JUnit請求
Java請求
LDAP擴展請求默認(rèn)值
LDAP請求
OS進程取樣器
SMTP取樣器
TCP取樣器
WebSocket SamplerWebSocket取樣器
郵件閱讀者取樣器

邏輯控制器:參考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)容還不錯,歡迎將生活随笔推薦給好友。