loadrunner的腳本及場景設(shè)計_第1頁
loadrunner的腳本及場景設(shè)計_第2頁
loadrunner的腳本及場景設(shè)計_第3頁
loadrunner的腳本及場景設(shè)計_第4頁
loadrunner的腳本及場景設(shè)計_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、關(guān)于loadrunner的腳本及場景設(shè)計 作者:hanshan,發(fā)布于2012-9-3,來源:淘測試 LoadRunner的強大也許不用我在此處多費唇舌,用過的同學自是可以深切體會一翻,沒用過的同學用用就曉得啦本文旨在針對一些想對loadrunner 有個初步了解并可以簡單上手操作的同學做一個介紹,起到一個拋磚引玉的作用,更深入的使用以后會不定期的整理分享出來。主要介紹腳本及場景兩部分內(nèi)容。1關(guān)于腳本我們可以使用LoadRunner的Virtual user generator創(chuàng)建虛擬用戶,以虛擬用戶的方式模擬真實用戶的業(yè)務(wù)操作行為,它會先記錄業(yè)務(wù)流程,然后把它轉(zhuǎn)化為腳本。

2、利用虛擬用戶,我們可以在業(yè)務(wù)主機上同時產(chǎn)生成千上萬的用戶訪問。1.1協(xié)議的選擇在錄制腳本時選擇那種方式呢: 如果應(yīng)用是WEB應(yīng)用,首選是HTML-based方式如果應(yīng)用是使用HTTP協(xié)議的非WEB應(yīng)用,首選是URL-based方式如果WEB應(yīng)用中使用了java applet程序,且applet程序與服務(wù)器之間存在通訊,選用URL-based方式如果WEB應(yīng)用中使用的javascript、vbscript腳本與服務(wù)器之間存在通訊(調(diào)用了服務(wù)端組件),選用URL-based方式基于以上分析,針對我們應(yīng)用的特點,我們一般選擇web(http/html)協(xié)議的html-based方式。采用這種方式錄制

3、的腳本,方便我們在后期增強腳本時做關(guān)聯(lián)/參數(shù)化1.2測試腳本規(guī)范腳本越小越好。就像寫code一樣,不要太長,這樣易于維護也易懂。盡量做到一個功能寫一個腳本。如果那些功能是連續(xù)有序的,必須先做上一個,下一個動作才能進行,就只能放在一起了插入事務(wù)。有時我們?yōu)榱撕饬磕硞€action的性能,需要在action的開始和結(jié)束位置插入這樣一個范圍,這就定義了一個transaction,LoadRunner 運行到該事務(wù)的開始點時,LoadRunner 就會開始計時,直到運行到該事務(wù)的結(jié)束點,計時結(jié)束。這個事務(wù)的運行時間在結(jié)果中會有反映。插入事務(wù)操作可以在錄制過程中進行,也可以在錄制結(jié)束后進行。LoadRun

4、ner 可以在腳本中插入不限數(shù)量的事務(wù)。舉個例子:比如購買書籍,把從登錄到購買成功整個作為一個腳本,對于需要關(guān)注的輸入資料到提交保存,定義為單獨的事務(wù),以取得響應(yīng)時間,事務(wù)腳本函數(shù)如下:只保留核心內(nèi)容。錄制后的腳本可能包含很多內(nèi)容,而這些內(nèi)容又不是我們本身應(yīng)用所需要關(guān)注的,此時就需要對腳本進行修改,去除多余腳本,主要包括:刪除cookies、刪除關(guān)鍵字EXTRARS后面的url、刪除不必要的url、刪除一切帶有敏感標記的內(nèi)容(比如:不想壓測到實際生產(chǎn)線上時,則需要刪除www.*.com的所有相關(guān)內(nèi)容)腳本名稱,事務(wù)名稱、參數(shù)名稱要做到見名知義。1.3腳本增強其實上面提到的去除多余腳本也可以放在

5、這里來介紹,作為腳本增強的一個方面,外關(guān)于腳本增強的幾個方面,就要涉及到以下內(nèi)容:參數(shù)化,關(guān)聯(lián) 1.3.1參數(shù)化首先選擇待參數(shù)化的內(nèi)容,點擊右鍵,選擇”Replace with parameter”。在彈出的對話框中,填寫參數(shù)名稱、選擇Parameter Type,再點擊Propeties,進行參數(shù)屬性設(shè)置?,F(xiàn)選擇最常用的一種參數(shù)類型,舉例如下:假如我們要對登錄進行性能測試,hello01是我們錄制腳本時初始生成的用戶名,當我們需要測試多個不同用戶(eg:hello02hello03)時,就需要對用戶名(密碼同樣操作)進行參數(shù)化操作,選中腳本中的“hello01”,點擊右鍵后選擇”Replac

6、e with parameter”,設(shè)置“username”為其參數(shù)名稱,類型選擇file,再點擊properties,對其進行具體內(nèi)容設(shè)置,依次輸入hello02hello03,并保存。如下圖所示:點擊properties后,可對該參數(shù)進行個性化設(shè)置 “Select next row ”有以下幾種選擇:多個VU如何取值· Sequential:按照順序一行行的讀取。每一個虛擬用戶都會按照相同的順序讀取 · Random:在每次循環(huán)里隨機的讀取一個,但是在循環(huán)中一直保持不變 · Unique :每個VU取唯一的值。注意:使用該類型必須注意數(shù)據(jù)表有足夠多的數(shù)。比如C

7、ontroller 中設(shè)定20 個虛擬用戶進行5 次循環(huán),那么編號為1 的虛擬用戶取前5個數(shù),編號為2 的虛擬用戶取6-10 的數(shù),依次類推,這樣數(shù)據(jù)表中至少要有100個數(shù)據(jù),否則Controller 運行過程中會返回一個錯誤。 Same Line As 某個參數(shù)(比如username): 和前面定義的參數(shù)username 取同行的記錄。通常用在有關(guān)聯(lián)性的數(shù)據(jù)上面。這個也是很有用的,比如有時候我們要求指定VU取讀取指定數(shù)據(jù),就可以這樣定義:創(chuàng)建參數(shù)文件,共兩列,假設(shè)username、passwd,username設(shè)定取數(shù)方式是unique,passwd則設(shè)成 same line as icpc

8、ode,如果參數(shù)文件第一行數(shù)據(jù)為992201,200001,則當icpcode=992201時,icpservid會取200001。“Update value on”有如下幾種選擇:多次迭代如何取值· once在所有的反復(fù)中都使用同一個值, · each iteration則每次反復(fù)都要取新值, · each occurrence則只要發(fā)現(xiàn)該參數(shù)就要重新取值,即如果一個action中有多個該參數(shù),每遇到一個就要重新取一個值。 1.3.2關(guān)聯(lián)關(guān)聯(lián)是用來解決腳本中存在的動態(tài)數(shù)據(jù)問題的.當你回放一次后,LR會自動查找你錄制的時候和回放時候的差別,找出動態(tài)數(shù)據(jù),并作成參數(shù)

9、。 如果用戶想使用loadrunner自帶的關(guān)聯(lián)規(guī)則創(chuàng)建關(guān)聯(lián),那么需要在錄制腳本時依次選擇【Recording Options】>【Internet Protocol】>【Correlation】中啟用關(guān)聯(lián)規(guī)則,選中“Enable correlation during recording”,當錄制這些應(yīng)用系統(tǒng)的腳本時,VuGen會在腳本中自動建立關(guān)聯(lián)。如果需要在回放腳本時進行關(guān)聯(lián),loadrunner自動檢測需要關(guān)聯(lián)的部分,那么需要在【Tools】>【general options】>【Correlation】中選中“save correlation informati

10、on during replay”和“show scan for correlations popup after replay of vuser”,當回放玩腳本后,會彈出Scan action for correlation窗口,進行關(guān)聯(lián)點的搜索。如果沒有進行上述設(shè)置,那么可以執(zhí)行ctrl + F8此命令可啟動自動關(guān)聯(lián)。 1.4腳本驗證腳本修改完,一定要回放腳本來驗證腳本的正確性。尤其是當功能環(huán)境與性能環(huán)境環(huán)境分開時,要確保腳本的運行只對性能環(huán)境產(chǎn)生壓力而不能影響到功能環(huán)境。這就需要我們除了要觀察回放后頁面展示的正確性之外,還要注意數(shù)據(jù)流流向,如果涉及到寫數(shù)據(jù)庫的操作時,就需要去性能環(huán)境的數(shù)

11、據(jù)庫check一下,數(shù)據(jù)是否有寫入進去;如果是涉及到讀庫操作的,最好在準備性能測試數(shù)據(jù)時就構(gòu)造與功能數(shù)據(jù)庫不同的數(shù)據(jù)以方便直接從頁面顯示上判斷,如果沒有的話,就用netstat命令來判斷。調(diào)試修改腳本時,可以在【Tools】>【general options】>【Display】中,選中所有項。這樣做的好處在于,通過瀏覽器快照和report,查看腳本運行情況,方便查錯。注意:場景運行時,切記將所有項的勾去掉,否則會將loadrunner測試機的硬盤撐爆!而且也會影響到測試結(jié)果,產(chǎn)生TPS波動現(xiàn)象。 2創(chuàng)建運行場景(Controller)當腳本創(chuàng)建好后,需要創(chuàng)建測試場景Scenari

12、o,一個運行場景包括一個運行虛擬用戶的機器列表,一個測試腳本的列表,及大量的虛擬用戶,然后利用LoadRunner的Controller來組織測試方案。2.1虛擬用戶數(shù)虛擬用戶數(shù)目會直接影響到壓力的大小。在一般情況下,采用遞增虛擬用戶的方式來尋找系統(tǒng)能夠承受的合理壓力。比如,預(yù)估總虛擬用戶數(shù)為20個,可以設(shè)置初始為2個,每5分鐘增加1或2個用戶。2.2 場景選擇Loadrunner提供給我們兩種方式的場景:Manual Scenario和Goal-Oriented Scenario,根據(jù)實際情況具體選擇哪種進行測試Manual Scenario:該項要完全手動的設(shè)置場景,這項下面還可以設(shè)置為每

13、一個腳本分配要運行的虛擬用戶的百分比,可在Controller的Scenario菜單下設(shè)置。Goal-Oriented Scenario:如果目標測試是要達到某個性能指標,比如:每秒多少點擊,每秒多少transactions,能到達多少VU,某個Transaction在某個范圍VU(50-100)內(nèi)的反應(yīng)時間等等,那么就可以使用面向目標的場景。選擇待運行的腳本后,點擊add -> OK,進入到下圖所示頁面,點擊Edit Schedule按鈕,可以對VU在整個場景中的加載、卸載及持續(xù)時間進行設(shè)置,同時還可以通過頁面右邊的Load Preview 預(yù)覽用戶加載情況。設(shè)置好后,接下來就要對Ru

14、n-Time Setting進行設(shè)置了。 2.3 Run-Time SettingVU中也有一個run-time setting,但作用有所不同,此處的設(shè)置主要用來對整個場景運行時進行約束,此時腳本的運行時設(shè)置就會失效;若在此沒有對運行時設(shè)置,則按照腳本的設(shè)置來運行。一般情況下,會按照以下方式進行設(shè)置Run Logic:設(shè)置成1;比如設(shè)置這里為3,有2個并發(fā)用戶,相當于執(zhí)行了6次腳本Log: 將Enable logging前面勾去掉;即不打印輸出日志,避免造成loadrunner壓測機器磁盤撐爆Think Time:一般情況,為了增大對服務(wù)器的壓力而選擇Ignore think time;Br

15、owser Emulation:一般情況下,不選擇Smulate brower cache和 Down non-HTML resousces;不選擇Smulate brower cache 是為了最大程度模擬一個新用戶打開鏈接時請求的都是服務(wù)器的資源而不是本地的一些瀏覽器中緩存的內(nèi)容;不選擇Down non-HTML resousces是因為在壓測時,更關(guān)注后端應(yīng)用本身的性能,而不去下載存放在其他機器上的靜態(tài)資源Preferences:可以將Advanced下的File and line in automatic transaction name取消掉;目的也是為減少壓測機本身資源的消耗。其它設(shè)置項:使用默認設(shè)置即可。2.4Result設(shè)置場景設(shè)置好后,即將要開始運行。此時一定要記得的一件事情就是在【Result】>【Result Settings】下將 directory指定到硬盤空間大一點的目錄下。因為我們在壓測過程中會產(chǎn)生大量的臨時文件,如果放在默認目錄C:Documents and SettingshanshanLocal SettingsTemp下的話,一般C盤空間都不會太大,會導(dǎo)致壓測機器本身磁盤爆掉,進而影響壓測結(jié)果。2.5應(yīng)用服務(wù)器監(jiān)控按照前面的步驟一步步走下來后,就可以運行設(shè)定的好性能場景了。在運行時,一般需要關(guān)注應(yīng)用的Running

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論