測(cè)試工具分為兩類:接口測(cè)試和性能測(cè)試。
jmeter: 三種比較有用的原件?
1.接口文檔
2.參數(shù)化
3.斷言
/////////////////////////////////////jmeter添加代理服務(wù)器/////////////////////////////////////////
1.添加Http代理服務(wù)器
? 2.設(shè)置端口號(hào)(不要有沖突的)爬虱,設(shè)置HTTp domains 碎浇,一般都是本機(jī)的Localhost
? 3.設(shè)置目標(biāo)控制器,即選擇錄到內(nèi)容的哪個(gè)組件中
瀏覽器設(shè)置:
打開控制面板---打開Internet設(shè)置->連接乒裆,選擇局域網(wǎng)設(shè)置
地址設(shè)置的localhost端口號(hào)與jmeter中保持一致
開始錄制
啟動(dòng)代理服務(wù)器-->瀏覽網(wǎng)頁(yè)進(jìn)行錄制xian
四套利、錄制手機(jī)設(shè)置
|1、確保jmeter代理服務(wù)打開鹤耍,確保手機(jī)與電腦處于同一網(wǎng)段肉迫。
2、在手機(jī)中選擇設(shè)置->代理->手動(dòng)稿黄,填入代理ip(此ip是電腦端ip)喊衫,然后填入端口號(hào)(此端口號(hào)是jmeter代理服務(wù)中,設(shè)置的端口號(hào))杆怕。
3族购、操作手機(jī),數(shù)據(jù)會(huì)被捉取到meter中所指定的線程組或其它目標(biāo)地方陵珍。
五寝杖、其它情況
如果無法被取https協(xié)議時(shí),在jmeter菜單中選擇菜單“選項(xiàng)"->"SSL管理器”撑教,將jmeter安裝目錄中bin文件下的jmeter證書導(dǎo)入進(jìn)來即可朝墩。
//////////////////////////////////////////線程組設(shè)置/////////////////////////////////////////////
1.做性能測(cè)試時(shí),添加線程之后,需要對(duì)線程的運(yùn)行環(huán)境進(jìn)行設(shè)置收苏。
2.線程數(shù);就是虛擬用戶數(shù)亿卤。可以虛擬多個(gè)用戶進(jìn)行業(yè)務(wù)操作鹿霸。
3.RAMP-UP時(shí)間:加載添加的用戶數(shù)所需要的時(shí)間排吴。如果設(shè)置100個(gè)線程數(shù),此處設(shè)置為1秒懦鼠,即1秒啟動(dòng)100個(gè)用戶钻哩,如果設(shè)置為兩秒即為1秒啟動(dòng)50個(gè)用戶。
4.延遲創(chuàng)建線程直到需要:當(dāng)此功能開啟時(shí)肛冶,用戶數(shù)可以根據(jù)“啟動(dòng)延時(shí)”配置設(shè)置進(jìn)行街氢。
5.調(diào)度器:當(dāng)此功能開啟時(shí),可以設(shè)置持續(xù)時(shí)間睦袖。即運(yùn)行時(shí)間珊肃。
//////////////////////////////////////////////////////添加各類監(jiān)控///////////////////////////////////////////
1、査看結(jié)果樹;査看請(qǐng)求結(jié)果,結(jié)果可以查看請(qǐng)求連接及請(qǐng)求參數(shù),返回狀態(tài)等內(nèi)容馅笙。
2伦乔、斷言:用來校驗(yàn)預(yù)期言果與實(shí)際結(jié)果是否一致《埃可以選擇返回內(nèi)容.返回狀態(tài),清求內(nèi)容,請(qǐng)求頭等內(nèi)容進(jìn)行新言.斷言方式可以是包含.等于等方式烈和。
////////////////////fiddler回顧///////////////////////////
1
fiddler是? 一個(gè)捉包工具.實(shí)現(xiàn)原理是一個(gè)代理。
2
打開fiddle,即進(jìn)入代理模式皿淋。此時(shí),所有web端的請(qǐng)求與返回即可在fiddler中顯示相內(nèi)容招刹。
3
此時(shí)開啟請(qǐng)求前斷點(diǎn).所有請(qǐng)求鏈接即可法打開。開啟請(qǐng)求后斷點(diǎn).所有返回?zé)o法收到沥匈。
4
用命令可以計(jì)對(duì)某個(gè)網(wǎng)站的請(qǐng)求進(jìn)行斷點(diǎn)蔗喂。如bpu www.baidu.com,即只對(duì)此網(wǎng)度進(jìn)行請(qǐng)求前斷點(diǎn),其它網(wǎng)站信息給予放行.可以請(qǐng)求成功,取消此網(wǎng)站斷點(diǎn)使用bpu高帖。? ? ? ? ? ? ? ? ? ? ? ? ?
5
、用命令針對(duì)某個(gè)網(wǎng)站的響應(yīng)進(jìn)行斷點(diǎn)畦粮。如bpafter www.baldu.com,即請(qǐng)求成功后,返回信息被攔截(中斷)散址。取消此網(wǎng)站斷點(diǎn)時(shí), 使用bpafter
6
對(duì)請(qǐng)求/響應(yīng)進(jìn)行篡改:設(shè)置斷點(diǎn)后.可以對(duì)請(qǐng)求/響應(yīng)篡改。打開右側(cè)·“白動(dòng)回復(fù)器”· ,勾選啟用規(guī)則. 將需要篡改的請(qǐng)求從左側(cè)拖到自動(dòng)回復(fù)器宣赔。然后在規(guī)則編輯器中预麸,第二選擇框,找到“找一個(gè)文件"? (find a file...) 儒将,選擇你想展示的文件吏祸。刷新瀏覽器請(qǐng)求,查看內(nèi)容是否替換钩蚊。
1.關(guān)聯(lián)
方式:正則表達(dá)贡翘、Xpath(一般xml比較多)
步驟:
badboy錄制----導(dǎo)入jmeter-----找出需要關(guān)聯(lián)的請(qǐng)求(nav.pl)----增加斷言-----增加斷言結(jié)果-----查看結(jié)果
2.Jmeter分布式部署(連接多臺(tái)電腦做壓力測(cè)試)
(1)Jmeter分步執(zhí)行原理:
Jmeter分布測(cè)試時(shí)蹈矮,選擇其中一臺(tái)做控制機(jī)(controller),其他機(jī)器為代理機(jī)(Agent)
執(zhí)行時(shí)鸣驱,Controller會(huì)把腳本發(fā)送到每臺(tái)Agent上泛鸟,Agent 拿到腳本后開始執(zhí)行,Agent執(zhí)行時(shí)不需要啟動(dòng)Jmeter踊东,只需要把jmeter-server.bat文件打開北滥,它應(yīng)該是通過命令行模式來執(zhí)行的。
執(zhí)行后闸翅,Agent會(huì)把結(jié)果回傳給Controller再芋,Controller會(huì)收集所有Agent的信息并匯總。
(2)Agent配置:
1坚冀、Agent機(jī)上需要安裝JDK济赎、Jmeter,并且配置好環(huán)境變量遗菠。
2联喘、打開“運(yùn)行”,輸入"cmd",打開運(yùn)行面板辙纬,輸入“ipconfig”豁遭,找到IP地址,例如是:192.168.8.149
3贺拣、打開Jmeter/bin/jmeter.properties蓖谢,找到”remote_hosts=127.0.0.1”,把這一行修改為”remote_hosts=192.168.8.149:1099,1099是端口號(hào),可以隨意自定義
4譬涡、打開jmeter-server.bat文件闪幽,就設(shè)置完成了,等待控制機(jī)(Controller)啟動(dòng)涡匀。
(3)Controller配置:
1盯腌、Controller機(jī)上需要安裝JDK、Jmeter陨瘩,并且配置好環(huán)境變量腕够。
2、打開“運(yùn)行”舌劳,輸入"cmd",打開運(yùn)行面板帚湘,輸入“ipconfig”,找到IP地址甚淡,例如是:192.168.8.174
3大诸、打開Jmeter/bin/jmeter.properties,找到”remote_hosts=127.0.0.1”,把這一行修改為”remote_hosts=192.168.8.149:1099,192.168.8.174:1099,1099是端口號(hào)资柔,可以隨意自定義焙贷。如果有多臺(tái)代理機(jī),這里需要把所有的代理機(jī)的IP地址和端口號(hào)都加入進(jìn)來建邓。
4盈厘、打開jmeter-server.bat文件,設(shè)置完成了
補(bǔ)充:修改文件后取消注釋
Agent:server_port=1099
? ? server.rmi.localport=1099
server.rmi.ssl.disable=true
Controller:remote_hosts=192.168.6.36:1999,192.168.6.35:1099
server.rmi.ssl.disable=true? ? 找不到文件時(shí)開啟
Controller可以同時(shí)調(diào)用多個(gè)Agent官边,前提是Agent的服務(wù)處于開啟狀態(tài)沸手。
(4)開始添加線程組請(qǐng)求來運(yùn)行查看結(jié)果:
1、打開jmeter.bat文件注簿,添加線程組契吉,編輯線程數(shù),這里設(shè)置100個(gè)線程數(shù)诡渴,循環(huán)2次捐晶,就是一臺(tái)機(jī)器發(fā)送100*2=200個(gè)請(qǐng)求。
2妄辩、添加HTTP請(qǐng)求惑灵,這里以訪問淘寶為例。
3眼耀、添加察看結(jié)果數(shù)和聚合報(bào)告英支,點(diǎn)擊運(yùn)行,可以選擇遠(yuǎn)程啟動(dòng)或者遠(yuǎn)程全部啟動(dòng)哮伟,如果是點(diǎn)擊遠(yuǎn)程啟動(dòng)干花,可以選擇任意一臺(tái)電腦來運(yùn)行,如果是點(diǎn)擊遠(yuǎn)程全部啟動(dòng)就會(huì)運(yùn)行控制機(jī)和所有的代理機(jī)楞黄。
4池凄、這里以點(diǎn)擊遠(yuǎn)程全部啟動(dòng)為例。運(yùn)行結(jié)束后鬼廓,查看聚合報(bào)告肿仑,每臺(tái)電腦設(shè)置的線程數(shù)為200,這里一共是兩臺(tái)電腦碎税,所以是200*2=400個(gè)線程數(shù)柏副。
接口文檔測(cè)試:
1.參看需求文檔,直接在jmeter中進(jìn)行參數(shù)設(shè)置蚣录。
2.如果沒又需求文檔的話,可以直接在fiddler中抓取
3.填寫接口的相關(guān)參數(shù)信息
添加過斷言之后可以添加斷言結(jié)果來進(jìn)行數(shù)據(jù)的查看眷篇。
響應(yīng)斷言:
添加響應(yīng)斷言萎河,設(shè)置需要包含的字符串。例如匹配字符為“百度一下,你就知道”虐杯,如果反悔的文本內(nèi)容如果包含“百度一下玛歌,你就知道”,則就算pass擎椰。
添加響應(yīng)斷言
輸入需要匹配的字符串信息
添加:斷言結(jié)果(Assertion)支子、查看結(jié)果樹(View Results Tree)
運(yùn)行Test Plan中的線程組,進(jìn)行斷言檢查达舒。
響應(yīng)斷言的方法有:
數(shù)據(jù)包字節(jié)大小斷言(Size Assertion)
判斷響應(yīng)結(jié)果是否包含正確數(shù)量的byte
持續(xù)時(shí)間斷言(Duration Assertion)
判斷是否在給定的時(shí)間內(nèi)返回響應(yīng)結(jié)果
用于判斷響應(yīng)時(shí)間是否符合要求值朋,僅需要填入期望的上限即可,單位為ms
jmeter的參數(shù)化設(shè)置
第一種:
使用元件:前置處理器->用戶參數(shù)
第二種:
使用元件:配置元件->csv參數(shù)化
第三種:
使用函數(shù)助手巩搏,點(diǎn)擊選項(xiàng)->Function helper dialog,選擇CSV這個(gè)函數(shù)
CSV file to get values from | *alias:CSV文件取值路徑昨登,即需要參數(shù)化的參數(shù)的文件路徑
CSV文件列號(hào)| next|*alias:CSV文件列號(hào)是從0開始的,第一列為0贯底,第二列為1丰辣,以此類推
Excel文件:
函數(shù)字符串:函數(shù)參數(shù)填好后,點(diǎn)擊生成禽捆,拷貝到請(qǐng)求參數(shù)對(duì)應(yīng)的值中
如在登錄請(qǐng)求中笙什,第一列為用戶名,函數(shù)字段號(hào)為0胚想,第二列為密碼琐凭,函數(shù)字段號(hào)為1,以此類推進(jìn)行修改使用即可顿仇,替換參數(shù)化后的參數(shù)淘正,然后修改線程數(shù)