一級(jí)目錄jmeter直連數(shù)據(jù)庫(kù)
準(zhǔn)備工作:
1.啟動(dòng)數(shù)據(jù)庫(kù)
2.加載mysql的JDBC驅(qū)動(dòng)
· 方法1:在測(cè)試計(jì)劃下方的位置,點(diǎn)擊瀏覽添加JDBC的jar包
· 方法2:將JDBC的jar拷貝到lib目錄,并重啟jmeter
3.JDBC連接池配置參數(shù):
編寫JDBC腳本步驟:(搜索指定商品,在返回結(jié)果中檢查是否包含指定商品的ID的URL)
1、添加JDBC Requesti請(qǐng)求
· JDBC連接池名稱:必須與"JDBC連接池"中的連接名一致
· 要執(zhí)行的sq語(yǔ)句
· Variable Name中:寫明要保存的數(shù)據(jù)的參數(shù)名
2、添加HTTP請(qǐng)求一一搜索請(qǐng)求
· 參數(shù)為中文時(shí),將參數(shù)寫到下方參數(shù)位置,并勾選上“編碼”
3、添加響應(yīng)斷言:
· 在響應(yīng)斷言中配置要檢查的數(shù)據(jù)內(nèi)容。
· 注意:應(yīng)用JDBC Requesti查詢出的結(jié)果時(shí),需要加上索引(因?yàn)镴DBC查詢的結(jié)果保存為一個(gè)列表)
二級(jí)目錄jmeter邏輯控制器
控制Jmeter腳本的執(zhí)行順序。
1.常用的邏輯控制器
· 如果(if)控制器
· 循環(huán)控制器
· ForEach控制器
2.如果(if)控制器
控制器用來(lái)控制它下面的測(cè)試元素是否運(yùn)行
添加方式:測(cè)試計(jì)劃>線程組->(右鍵添加)邏輯控制器>如果(if)控制器
2.1案例
1.使用’用戶定義的變量’定義一個(gè)變量name,name的值可以是baidu’或itcast’
2.根據(jù)name的變量值實(shí)現(xiàn)對(duì)應(yīng)網(wǎng)站的訪問(wèn)
第一種配置方法
第二種配置方法:
勾選上Interpret Condition as Variable Expression,判斷條件需用使用jex13函數(shù)。
(使用這個(gè)函數(shù)來(lái)進(jìn)行判定時(shí),Jmeter自身的執(zhí)行效果要高一些)
3.循環(huán)控制器:
控制子節(jié)點(diǎn)下的HTTP請(qǐng)求的執(zhí)行次數(shù)
循環(huán)控制器與線程組中的循環(huán)次數(shù)的對(duì)比:
· 循環(huán)控制器只控制其子節(jié)點(diǎn)下的HTTP請(qǐng)求,線程組對(duì)所有的請(qǐng)求都有效
· 假如線程組循環(huán)次數(shù)為2,循環(huán)控制器次數(shù)為3,則循環(huán)控制器下的請(qǐng)求執(zhí)行次數(shù)為:2?3
4.ForEach控制器
與用戶定義的變量或者正則表達(dá)式提取器配合使用,循環(huán)讀取用戶定義的變量或者正則表達(dá)式結(jié)果中的所有數(shù)據(jù)。
配置參數(shù):
4.1與用戶定義的變量配合使用:
1、添加用戶定義的變量:
· 參數(shù)名:固定前綴+連續(xù)的數(shù)字后綴
2、添加ForEach控制,并配置
3、在ForEach控制器下方添加HTTP請(qǐng)求,并引用ForEāch讀取的數(shù)據(jù)${word}
4、添加查看結(jié)果樹
與正則表達(dá)式配合使用:
1、添加HTTP請(qǐng)求一一itcast首頁(yè)
2、添加正則表達(dá)式提取器,提取出itcast響應(yīng)中所有的地址相關(guān)的數(shù)據(jù),并保存為參數(shù)ārea(列表數(shù)據(jù))
3、添加ForEach控制器,循環(huán)提取area列表中的每一個(gè)地址信息
4、在ForEach控制器下添加一個(gè)HTTP請(qǐng)求一一百度,引用ForEach控制器中定義的變量$(word},作為參數(shù)
5、添加查看結(jié)果樹
三級(jí)目錄jmeter定時(shí)器
1.同步定時(shí)器:
又叫做集合點(diǎn)(LR的叫法),保證大量的請(qǐng)求在同一時(shí)間進(jìn)行發(fā)送,形成絕對(duì)的并發(fā)。
實(shí)現(xiàn)原因:設(shè)置同步定時(shí)器,有請(qǐng)求要發(fā)出時(shí),同步定時(shí)器會(huì)暫緩請(qǐng)求發(fā)送,一直到積攢的請(qǐng)求數(shù)達(dá)到要的數(shù)量時(shí),將所有的請(qǐng)求同步發(fā)送出去,形成絕對(duì)的并發(fā)(更大的壓力負(fù)載)
添加方式:
測(cè)試計(jì)劃->線程組->監(jiān)聽器 聚合報(bào)告-> HTTP請(qǐng)求->(右鍵添加)定時(shí)器->Synchronizing Timer
2.常數(shù)吞吐量定時(shí)器
設(shè)置jmeter以指定的吞吐量速度往服務(wù)器發(fā)送HTTP請(qǐng)求。
注意:常數(shù)吞吐量定時(shí)器只是幫忙達(dá)到性能測(cè)試的負(fù)載(壓力)要求,本身不代表性能有bug/無(wú)bug,對(duì)于bug的分析需要通過(guò)響應(yīng)時(shí)間來(lái)判斷
四級(jí)目錄jmeter分布式
1.應(yīng)用場(chǎng)景:
當(dāng)性能測(cè)試時(shí)需要模擬的負(fù)載(用戶/請(qǐng)求)太高,一臺(tái)測(cè)試機(jī)無(wú)法模擬,需要使用多臺(tái)測(cè)試機(jī)一起來(lái)模擬達(dá)到要求的負(fù)載量,這就叫分布式
原理:
· 分布式測(cè)試時(shí)語(yǔ)常由1臺(tái)控制機(jī)和N臺(tái)代理機(jī)
· 控制機(jī):給代理發(fā)送任務(wù),接收代理機(jī)返回的數(shù)據(jù)統(tǒng)計(jì),做匯總展示
· 代理機(jī):往服務(wù)器發(fā)送HTTP請(qǐng)求,并接收服務(wù)器的響應(yīng),并對(duì)響應(yīng)進(jìn)行處理。
2.分布式相關(guān)注意事項(xiàng):
· 測(cè)試機(jī)上所有的防火墻關(guān)閉
· 所有的控制機(jī)、代理機(jī)、被測(cè)系統(tǒng)都在同一個(gè)子網(wǎng)中
· 所有的控制機(jī)和代理機(jī)上安裝的meter和DK的版本必須完全一樣。
· 要關(guān)閉meter中的RMSL開關(guān)
3.分布式配置與運(yùn)行:
· 配置:
。代理機(jī)(meter.property)
server_.port:代理機(jī)啟動(dòng)的端口,不沖突即可
server.rmi.ssl.disable=true(關(guān)閉)
??刂茩C(jī)
· remote_.hosts:代理機(jī)的lP:port,
如果有多個(gè)代理機(jī)用" ,"分隔。
· server.rmi.ssl.disable=true(關(guān)閉)
· 運(yùn)行:
。代理機(jī)
進(jìn)入bin目錄下,執(zhí)行jmeter_.server.bat
??刂茩C(jī):
· 進(jìn)入bin目錄下,執(zhí)行jmeter…bat
· 啟動(dòng)時(shí),點(diǎn)擊“運(yùn)行”–“遠(yuǎn)程啟動(dòng)所有”控制代理機(jī)的運(yùn)行文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-815895.html
文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-815895.html
到了這里,關(guān)于階段七第二章連接數(shù)據(jù)庫(kù),邏輯控制器,定時(shí)器,分布式的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!