取樣器就是模擬向被測系統(tǒng)發(fā)起請求早龟,Jmeter會(huì)記錄取樣結(jié)果冯乘,也就是統(tǒng)計(jì)TPS目代,響應(yīng)時(shí)間等性能指標(biāo)靴迫。
BeanShell Sampler
BeanShell Sampler用來調(diào)用java接口程序濒蒋,相當(dāng)于接口測試盐碱。
Debug Sampler
Debug Sampler與觀察結(jié)果樹元件組合能讓我們看到:
1.參數(shù)化取值是否正確
2.正則表達(dá)式提取的值是否正確
3.Jmeter屬性
4.調(diào)試時(shí)服務(wù)器返回些什么內(nèi)容
參數(shù)說明
名稱:取樣器名稱。
注釋:可以隨意設(shè)置沪伙,可以為空瓮顽。
Jmeter properties:是否查看jmeter屬性。默認(rèn)位False围橡。
JMeter Variables:是否查看運(yùn)行時(shí)變量暖混,默認(rèn)位True。
System properties:是否查看系統(tǒng)屬性翁授,默認(rèn)位False拣播。
FTP請求
FTP有上傳與下載兩種功能。
參數(shù)說明
名稱:取樣器名稱收擦。
注釋:可以隨意設(shè)置贮配,可以為空。
服務(wù)器名稱或IP:上傳或者用來下載的服務(wù)器地址(即被測試對象)塞赂。
端口號:指定的FTP傳輸端口號泪勒。
Remote File:遠(yuǎn)程FTP服務(wù)器文件路徑。
LocalFile:本地文件路徑减途。
Local File Contents:本地文件內(nèi)容酣藻。
Get(RETR):下載文件選項(xiàng)。
Put(STOR):上傳文件選項(xiàng)鳍置。
Use Binary mode?:是否以二進(jìn)制方式傳輸辽剧。
Save File in Response?:文件內(nèi)容是否保存到響應(yīng)中去税产,如果選擇怕轿,且運(yùn)行FTP請求成功后我們可以在“觀察結(jié)構(gòu)樹--響應(yīng)數(shù)據(jù)”中看到內(nèi)容偷崩。
用戶名:如果是匿名登錄,也請?zhí)钊隺nonymous賬號撞羽,不然有可能下載不成功阐斜。
密碼:有則填寫。
Java請求
后續(xù)補(bǔ)充诀紊。
JDBC請求
在工作中我們又時(shí)候需要對數(shù)據(jù)庫進(jìn)行測試谒出,比如想看下這個(gè)SQL的性能怎么樣?這個(gè)存儲過程性能怎么樣邻奠?JDBC請求可以完成笤喳。
在Jmeter中建立一個(gè)JDBC請求測試計(jì)劃主要分為兩步。
(1)設(shè)置JDBC連接池(在JDBC Connection Configuration元件中進(jìn)行設(shè)置碌宴。配置元件內(nèi))杀狡。
(2)添加JDBC 請求
參數(shù)說明
Variable Name:即是我們在JDBC Connection Configuration中設(shè)置的Variable Name連接名稱.。
Query Type:有很多選項(xiàng)贰镣。
? ? Select Statement:需要執(zhí)行查詢語句的時(shí)間用到呜象。
? ? UPdate?Statement:執(zhí)行更新操作的時(shí)間用到,包括插入和修改碑隆。
? ? Callable?Statement:可以調(diào)用存儲過程恭陡。
? ? Prepared Select?Statement:預(yù)編譯查詢語句。相同的SQL只會(huì)被編譯一次干跛。減少數(shù)據(jù)庫在SQL上的編譯資源的消耗子姜。
? ???Prepared Update Satement:只是把上面的Select換成Update,意義相同楼入。
? ? Commit:當(dāng)前連接狀態(tài)中的內(nèi)容提交。
? ? Rollback:當(dāng)前連接狀態(tài)中的內(nèi)容回滾牧抽。
? ? AutoCommit(false):指明不需要自動(dòng)提交嘉熊。
Parameter values:參數(shù)值,用來參數(shù)化SQL query中的sql語句扬舒。
Parameter types:參數(shù)值對應(yīng)的參數(shù)類型阐肤。
Variable names:把sql執(zhí)行得到的結(jié)果保存到一個(gè)可以被調(diào)用的變量一個(gè)變量代表一列的值,想獲取多列可以用多個(gè)變量來存儲讲坎,用逗號隔開孕惜。每一列都是一個(gè)數(shù)組。列數(shù)與變量對應(yīng)晨炕。
Result variable name:把整個(gè)結(jié)果存在一個(gè)數(shù)組中衫画。只有取一個(gè)變量名就好了。
Query timeout:定義查詢超時(shí)時(shí)間瓮栗。
HTTP請求
參數(shù)說明
名稱:取樣器名稱
注釋:可以隨意設(shè)置削罩,可以為空瞄勾。
協(xié)議:http https
服務(wù)器名稱或IP:指定http請求的主機(jī)地址,不需要加http://
端口:默認(rèn)80弥激,郵箱端口443进陡。
http請求方法:get post。
路徑:請求資源路徑微服。
Content encoding:字符編碼格式 如utf-8趾疚。
自動(dòng)重定向:如果請求中包含重定向請求,自動(dòng)重定向可以自動(dòng)轉(zhuǎn)向到最終目標(biāo)頁面以蕴,但是在觀察結(jié)構(gòu)樹中無法找到重定向過程的內(nèi)容盗蟆。
如,A重定向到B舒裤,此時(shí)值記錄B的內(nèi)容不記錄A的內(nèi)容喳资,如果此時(shí)要對A做關(guān)聯(lián),那就沒辦法了腾供。
跟隨重定向:自動(dòng)跳轉(zhuǎn)到目標(biāo)地址仆邓,與自動(dòng)重定向不一樣,可以在觀察結(jié)構(gòu)樹中查看AB的響應(yīng)內(nèi)容。
Use KeepAlive:對應(yīng)http響應(yīng)頭中的Connection:Keep-Alive罚屋,默認(rèn)選中隙券。
Use multipart/form-data for POST:當(dāng)發(fā)生HTTP POST請求時(shí),使用這個(gè)方法搞疗。比如我們可以用它做文件上傳;這個(gè)屬性是與post方法綁定的须肆。
Browser-compatible headers:瀏覽器兼容模式匿乃,如果使用Use multipart/form-data for POST建議勾選此項(xiàng)。