大家好,我是小編小z,現(xiàn)在互聯(lián)網(wǎng)早已經(jīng)滲透到了生活中的方方面面,大量的用戶數(shù)對軟件平臺的系統(tǒng)穩(wěn)定性提出了更高的要求,對于一些高并發(fā)的事務,只靠人工的測試已經(jīng)遠遠達不到要求,這時候,loadrunner性能測試工具就應用而生了!
在上期中小z已經(jīng)說了,是一個計算機愛好者,平時喜歡瞎鼓搗一些東西玩,前不久,開始試玩起loadrunner11,一個比較老的工具,目測現(xiàn)在最新版本已經(jīng)更新到了12版本,對win10也有了非常好的兼容性,但是小編的電腦還是停留在了win7 64位旗艦版,當然不只是為了所謂情懷,只是習慣了而已,但使用過程中卻出現(xiàn)了一些問題,通過查找資料,發(fā)現(xiàn)出問題的小伙伴不在少數(shù),今天就著重說一下loadrunner錄制腳本時調(diào)不起瀏覽器的一些解決方案。
1.loadrunner11支持最高ie版本為ie8(其實ie9很多人也都可以使用),版本過高請自行降級;
2,.在ie中點擊工具(沒有工具選項按一下ALT)-Internet選項-高級-下拉取消啟動第三方瀏覽器對勾-應用-確定-關閉瀏覽器-重新錄制;
3.務必將默認瀏覽器設置為ie,錄制時最好關閉殺毒或者管家這些,避免引起不必要麻煩;
5.Run-time Settings中Browser Emulation點擊change設置的User-Agent值為IE,瀏覽器版本選擇最高(8.0),操作系統(tǒng)選擇windows;進行錄制;
6.也就是最主要的一步,經(jīng)過很多的嘗試才解決。針對windows7 64位操作系統(tǒng)中包括有64位ie和32位ie,在錄制時務必把ie使用路徑選擇為C:\Program Files (x86)\Internet Explorer\iexplore,此時再錄制試試吧!是不是成功了呢?
在計算機世界里總有一些意想不到的問題,只要我們有適當?shù)膹娖人季S,執(zhí)著地尋求解決方案,找到答案,其實只是時間問題!祝所有小伙伴工作順利!
七、控制臺
1、基準測試:用戶數(shù)設置為1,運行時間設置為5分鐘或者迭代次數(shù)設置為5次
2、并發(fā)測試:多用戶,集合點測試
3、綜合場景:測試web tours系統(tǒng)
前提:多個腳本(提交城市、提交訂單、查詢訂單)
4、錄制代碼的順序:
a.創(chuàng)建一個腳本(根據(jù)被測系統(tǒng)的協(xié)議)
b.選擇錄制模式(默認HTML)
c.如果關心的是登錄后的請求,就把代碼塊切換到vuser_init中,填寫url address被測系統(tǒng)的url地址
d.開始錄制,輸入用戶名密碼提交登錄操作
e.登陸后為登錄成功界面添加檢查點(一般測試都是測試用戶登陸后使用被測系統(tǒng)的情況,所以需要確保登錄是成功的)
f.切換代碼塊在action中,根據(jù)業(yè)務流程錄制代碼
g.在關心的請求之前:
--插入集合點
--插入開始事務
--提交關心的請求
--插入結束事務
--插入檢查點
h.切換代碼塊在vuser_end中,錄制退出請求,關閉瀏覽器,停止錄制,保存代碼
i.把代碼中的集合點和開始事務剪切到關心請求上面
5、解釋控制臺
(1)打開控制臺就是一個場景
(2)scenario group:場景組,場景中有哪些用戶和哪些腳本--相當于一個班級
group name:組名,哪些用戶運行某個腳本稱為一組,組名默認是腳本的名稱----相當于一個班級里的小組
script path:腳本路徑,當前要測試被測系統(tǒng)的哪些業(yè)務,就把這些業(yè)務的腳本添加到控制臺---相當于一個班級中的每個小組執(zhí)行的任務是什么
quantity:虛擬用戶數(shù),為每個腳本分配多少用戶執(zhí)行去執(zhí)行---相當于班級里一個小組有多少個同學
load generator:虛擬用戶壓力生成器,默認實際用戶對被測系統(tǒng)執(zhí)行的壓力
schedule name:計劃的名稱
schedule buy:任何空值虛擬用戶去運行腳本
--scenario:控制臺中所有的用戶按照一個計劃去運行腳本
--group:為每一組中的虛擬用戶單獨設置一個計劃,有多少組(腳本)就可以設計多少個計劃
run moda:運行模式
--real Word schedule:
load內(nèi)置的運行方式,固定只能10個戶運行場景5分鐘(一般不符合測試要求)
--basic schedule:手動設置運行方式
(4)常用計劃組合:schedule by選擇scenario+run mode選擇basic schedule
(5)global schedule:計劃
initial:初始化虛擬用戶,運維虛擬用戶需要使用load generator組件生成負載才能運行腳本,模擬測試,而load generator生成負載需要使用pc機資源,如果同時模擬大量的虛擬用戶,有可能會失敗,可以讓load generator每隔一段時間初始化一定的虛擬用戶
start vuser:讓虛擬用戶開始執(zhí)行腳本,進行測試,如果讓大量的虛擬用戶同時執(zhí)行腳本,有可能會報錯,測試時需要讓所有用戶都能夠成功運行腳本,進行測試才有意義,所以需要確保所有用戶都執(zhí)行代碼成功,就要設置讓虛擬用戶慢慢的開始執(zhí)行腳本
duration:持續(xù)時間,虛擬用戶執(zhí)行場景的時間,虛擬用戶執(zhí)行場景時,執(zhí)行完一次腳本后,未到達持續(xù)時間,將繼續(xù)再次執(zhí)行腳本
stop vuser:停止虛擬用戶,虛擬用戶不再運行腳本,退出系統(tǒng),如果大量的虛擬用戶同時從被測系統(tǒng)退出,有可能會報錯,需要隔一段時間停止一定的虛擬用戶
(7)運行場景時,常見的錯誤
1)connot connect server.
原因:沒有連接到服務器
解決方案:
a.手動打開被測系統(tǒng),驗證服務器是否宕機
--如果宕機:就是場景中設置的虛擬用戶太多,導致被測系統(tǒng)壓力太多
--未宕機:場景中虛擬用戶運行時壓力太大,修改initialize初始化虛擬用戶和start vuser開始虛擬用戶選項,修改時間間隔長一些
(8)監(jiān)控資源補充:
process:private bytes,記錄當前被占用的內(nèi)存大小
process:working set,記錄當前正在使用的內(nèi)存大小
system:context swiches,上下文切換,當CPU處理事務時,1個事務未處理完又被調(diào)用處理另外一個事務,這樣從一個事務切換到另一個事務的狀態(tài)稱為上下文切換,上下文切換越頻繁,證明程序設計有問題
補充:
一、虛擬用戶(vuser)
1、虛擬用戶模擬實際用戶執(zhí)行腳本對被測系統(tǒng)進行操作(測試)
2、使用load generator生成負載(創(chuàng)造出虛擬用戶)
3、底層當使用虛擬用戶進行測試時,在任務管理器中會生成mmdrv.exe的進程
4、進程:當計算機啟動一個程序,就會在任務管理器中啟動一個進程,進程需要耗費資源(cpu、內(nèi)存、硬盤...)
5、如果模擬虛擬用戶以進程的方式模擬,控制臺中設置了多少個虛擬用戶,就會啟動多少個進程
6、當測試時取藥多用戶,一般會使用線程的方式模擬用戶,這樣多個線程可以共用一個進程的資源,一臺pc機就可以模擬出更多的虛擬用戶,只有啟用線程安全的程序才能使用線程的方式
二、多機聯(lián)合
練習:使用多機聯(lián)合實現(xiàn),自己的機器購買2張,同桌的機器購買3張票
1.什么是多機聯(lián)合?
在測試的過程中,可以連接不同的機器為性能測試模擬更多的模擬用戶,連接其他機器的load
generator的技術就是多機聯(lián)合
2、為什么要使用多機聯(lián)合?
因為測試時模擬虛擬用戶需要占用PC的資源,一臺pc的資源有限,為了模擬更多的虛擬用戶,就需要使用更多的PC,這時就需要使用多機聯(lián)合技術
3、多機聯(lián)合的步驟:
a.確定連接哪臺機器,并查看其IP地址
b.確保測試機與待連接的機器網(wǎng)絡能夠ping通,并關閉防火墻
c.在待連接的機器上安裝load generator組件,該組件也可以安裝在Linux系統(tǒng)上,loadrunner其他組件則不能
d.在待連接的機器上開啟服務,loadrunner agent process
e.在測試機的控制臺中,點擊scenario菜單欄,選擇load generator->點擊add按鈕->輸入待連接機器的IP地址,選擇機器類型Windows、Unix,確定
f.選中已經(jīng)添加的IP地址,點擊connect按鈕連接,status為ready則連接成功
注意:錄制順序
1、添加集合點
2、開始事務
3、發(fā)送請求
4、結束事務
5、檢查點
問題:為什么錄制提交航班的代碼,需要把提交城市的請求錄制在action中
關系的請求:提交航班
action:點擊flights按鈕+提交城市+提交航班
init:打開被測系統(tǒng)->登錄
action:點擊flights按鈕+提交城市+提交航班
end:退出系統(tǒng)
三、場景
1.綜合場景
(1)添加腳本,把被測系統(tǒng)主要業(yè)務流程的腳本添加到控制臺中
(2)分別為每個腳本合理分配虛擬用戶數(shù)(需求中的在線用戶數(shù))
(3)設置虛擬用戶如何執(zhí)行場景:
a.schedule by:scenario,所有腳本按照一個計劃執(zhí)行
b.run mode:basic schedule,手動設置虛擬用戶執(zhí)行場景的方式
c.initialize:初始化虛擬用戶,由于綜合場景中虛擬用戶較多,需要設置隔一段時間初始化多少虛擬用戶,如果間隔時間太短,load
generator壓力大,虛擬用戶會初始化失敗,將無法運行腳本
d.start vuser:開始虛擬用戶,虛擬用戶開始執(zhí)行腳本,如果所有虛擬化同時執(zhí)行腳本,容易報錯,需要設置每隔一段時間開始幾個虛擬用戶,確保所有用戶都能執(zhí)行腳本,測試才有意義
報錯:failed to connect to server
e.duration:持續(xù)時間,綜合場景考察被測系統(tǒng)的綜合能力,為了得到穩(wěn)定的值,綜合場景需要持續(xù)一個小時,或更長的時間
f.stop vuser:虛擬用戶停止運行,如果所有虛擬用戶同時停止,容易報錯,所以需要每隔一段時間停止幾個虛擬用戶
報錯:vuser_end(行號):error....
(4)設置虛擬用戶如何運行場景中的腳本:
a.打開run_time setings
b.run logic:1次,因為為場景設置了duration時間,迭代次數(shù)只需設置為1
c.think time:思考時間,腳本中步驟與步驟之間的間隔時間,設置為random,值根據(jù)具體情況設置
d.pacing值,迭代與迭代之間的間隔時間,設置為random
e.miscellaneous:勾選continue on error,當場景中出現(xiàn)少數(shù)錯誤時,是被允許的
f.browser emulation:勾選前面三個復選框,綜合場景模擬實際用戶被測系統(tǒng)情況,用戶一般不會頻繁清除瀏覽器緩存,所以要模擬用戶操作
g.preference:設置4個超時時間為600
(5)設置連接load generator的超時時間
a.tools->options->timeout->load generator
connect連接:600
disconnect取消連接:600
(6)設置場景運行結果的保存路徑
results->results settings->指定文件名稱和文件路徑
(7)在run界面Windows resources窗口右擊選擇->add:添加測量(添加window資源項)->在上部分server欄點擊add添加被監(jiān)控服務器的IP地址及platform平臺->在下部分監(jiān)控資源項欄點擊add添加需要監(jiān)控的資源項
(8)如果要在綜合場景中模擬部分用戶并發(fā)
scenario->rendzvous->policy->第二個單選按鈕設置少部分百分比
(9)如果要使用多機聯(lián)合
scenario->load generator->add->添加被測系統(tǒng)連接的負載機IP地址及平臺->選擇IP地址點擊connect連接上該ip地址的電腦->在run界面點擊右上角vuser三個小人按鈕,為虛擬用戶分配不同的load generator
(10)在run界面點擊start scenario開始執(zhí)行場景
5、排除運行場景時的錯誤:
(1)failed to connect to server....(未連接到服務器)
a.檢查服務器是否宕機
b.檢查start vuser是否時間間隔太短
c.被測系統(tǒng)不支持那么多用戶
(2)text=..... not found
web_reg_find(檢查點報錯)
a.打開腳本驗證腳本是否正確,確保腳本中迭代多次是通過,則腳本是沒有問題
b.把run-time settings中的tink time和pacing設置大一點間隔
(3)vuser_end(行號):error(虛擬用戶退出時報錯)
a.把stop vuser的價格時間設置大一些
(4)parameter“參數(shù)名”...unique(參數(shù)不夠)
a.在腳本中的參數(shù)池列表中準備更多的數(shù)據(jù)
------碼字不易,給個關注唄^_^