性能測試loadrunner詳細講解課件_第1頁
性能測試loadrunner詳細講解課件_第2頁
性能測試loadrunner詳細講解課件_第3頁
性能測試loadrunner詳細講解課件_第4頁
性能測試loadrunner詳細講解課件_第5頁
已閱讀5頁,還剩143頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

性能測試培訓(xùn)性能測試培訓(xùn)1培訓(xùn)目的了解常用的性能測試工具了解Loadrunner目錄了解Loadrunner的用戶行為模擬相關(guān)操作Loadrunner解惑與經(jīng)驗培訓(xùn)目的了解常用的性能測試工具2培訓(xùn)內(nèi)容常用的性能測試工具介紹Loadrunner目錄分析Loadrunner用戶行為模擬VuGen簡介及錄制流程界面介紹錄制基本的用戶行為完善測試腳本開發(fā)Runtimeset單機運行腳本其它

培訓(xùn)內(nèi)容常用的性能測試工具介紹31常用的性能測試工具_開源工具OpenSTA:開源項目,功能強大,自定義功能設(shè)置完備,但設(shè)置通過Script來完成。必須學(xué)習Script編寫。WAS(WebApplicationStressTool):微軟的工具,輸出結(jié)果是純文本的。1常用的性能測試工具_開源工具OpenSTA:開源項目,功41常用的性能測試工具_商業(yè)工具

工具名稱LoadRunnerQALoadWebLoad出品公司MICompuwareRadview價格昂貴較貴一般安裝配置復(fù)雜性簡單簡單一般操作性較復(fù)雜簡單簡單支持測試對象各種中間件/數(shù)據(jù)庫/應(yīng)用服務(wù)器的性能監(jiān)控/企業(yè)架構(gòu)(j2ee和.net)的測試客戶/服務(wù)器系統(tǒng)、企業(yè)資源配置(ERP)和電子商務(wù)應(yīng)用WebApplication支持平臺windows,unix或linuxHP-UX,IBMAIX,SunSolaris,Linux,NT/2kUnixWindows支持數(shù)據(jù)庫DB2,SQLserver,Orcale,SybaseADO,DB2,Oracle,Sybase,SQLserver,OdbcADO,DB2,Oracle,Sybase,SQLserver,Odbc功能點創(chuàng)建虛擬用戶,創(chuàng)建真實的負載,定位性能問題,分析結(jié)果以精確定位問題所在,重復(fù)測試保證系統(tǒng)發(fā)布的高性能等預(yù)測系統(tǒng)性能、通過重復(fù)測試尋找瓶頸問題、從控制中心管理全局負載測試、快速創(chuàng)建仿真的測試、驗證應(yīng)用的可擴展性。強大的專業(yè)網(wǎng)站性能測試,虛擬多用戶虛擬用戶數(shù)量成千上萬成百上千理論上無限,不過受機器的限制,同時運行太多影響結(jié)果的準確性1常用的性能測試工具_商業(yè)工具

工具名稱LoadRunne52loadrunner目錄分析AnalysisTemplates----分析模板,可以自己建一個Bin-----可執(zhí)行程序,注意里面的CHM幫助文檔bincerts--安全證書classes--可能用到的一些jar包dat--備份文件和配置信息ejbcomponent--ejb用的一些組件,相關(guān)的jar包help--幫助中心。2loadrunner目錄分析AnalysisTempla62loadrunner目錄分析include--頭文件(可以編寫自定義函數(shù),保存為.h的頭文件格式,并放在這個目錄,以后只需要調(diào)用這個頭文件就可以正常使用了)samples---一些實例,有java的tutorial---快速入門的實例,可以直接使用WebTours--實例網(wǎng)站template--這個目錄好像好多東西。winpcap--一個網(wǎng)絡(luò)協(xié)議驅(qū)動的安裝程序2loadrunner目錄分析include--頭文件(可73.Loadrunner用戶行為模擬內(nèi)容VuGen簡介及錄制流程界面介紹錄制基本的用戶行為完善測試腳本開發(fā)插入事務(wù)插入集合點插入注釋參數(shù)化輸入插入函數(shù)插入檢查點Runtimeset單機運行腳本其它3.Loadrunner用戶行為模擬內(nèi)容VuGen簡介及錄制83.1Loadrunner用戶行為模擬簡介VirtualUserGenerator是一種基于錄制回放的工具,loadrunner擁有各種Vuser類型,每一種類型都適合于特定的負載測試環(huán)境。性能測試的第一步也是最重要的一步就是生成虛擬用戶腳本(VuserScript)。在VuGen中錄制得到用戶的行為就好比虛擬了一個用戶的行為,所以我們稱該模擬的用戶為Vuser,這個腳本稱為VuserScript。注意:Vuser僅能錄制Windows平臺上的會話,但錄制的Vuser腳本既可以在Windows平臺上運行,也可以在UNIX平臺上運行3.1Loadrunner用戶行為模擬簡介Virtua93.1用戶行為模擬流程通常使用VuGen進行用戶行為模擬的流程如圖所示。創(chuàng)建用戶腳本需要用到VuGen。提示:運行VuGen最好在1024*768的分辨率下,否則有些工具欄會看不到。3.1用戶行為模擬流程通常使用VuGen進行用戶行為模擬的流103.2VuGen界面介紹內(nèi)容

界面簡介選擇協(xié)議類型Task模式3.2VuGen界面介紹內(nèi)容

界面簡介113.2VuGen界面介紹

新建一個腳本,選擇Web(HTTP/HTML)協(xié)議后,即可得到開發(fā)界面。在VuGen中提供了兩種腳本視圖方式(Script/Tree),可以通過菜單欄的對應(yīng)按鈕進行切換,

也可以通過View菜單下的選項進行切換。Tree圖形化模式腳本模式3.2VuGen界面介紹

新建一個腳本,選擇Web(123.2.1VuGen界面介紹在Tree圖形化模式下,左側(cè)會列出該腳本使用的函數(shù)(雙擊可以直接使用圖形化修改函數(shù)),右側(cè)提供了該請求對應(yīng)的截圖(自行編寫的腳本和部分協(xié)議不會帶有Snapshot截圖)。一般通過這種視圖來檢查錄制是否正確或進行某些函數(shù)的圖形化修改。在腳本模式界面中,左側(cè)是腳本Action的列表,右側(cè)是代碼部分。從開發(fā)方便的角度來說,一般使用這個模式的情況多一些。3.2.1VuGen界面介紹在Tree圖形化模式下,左側(cè)會列133.2.1VuGen界面介紹在屏幕的下方提供了OutputWindow,包含錄制、回放、關(guān)聯(lián)等相關(guān)信息的輸出管理。3.2.1VuGen界面介紹在屏幕的下方提供了Output143.2.2選擇錄制協(xié)議

1:默認的新建單協(xié)議版本---(所以協(xié)議選擇非常重要)可以查看所有協(xié)議或按類型來查看對應(yīng)的可用協(xié)議。2:新建多協(xié)議版本創(chuàng)建多協(xié)議Vuser腳本,VuGen顯示所有的可用協(xié)議,指定錄制所需要的幾組協(xié)議即可。3:使用最近使用過的協(xié)議創(chuàng)建腳本3.2.2選擇錄制協(xié)議

1:默認的新建單協(xié)議版本---(所以153.2.2協(xié)議類型說明

3.2.2協(xié)議類型說明

163.2.3Task模式

LoadRunner中的Task(稱為“任務(wù)欄”或“工作流”),用于指導(dǎo)新手一步步按照標準的流程錄制測試、編輯測試、回放運行測試,最后得到測試結(jié)果并進行分析。從View菜單選擇task,加載task模式。3.2.3Task模式

LoadRunner中的Task(稱173.3.1錄制基本的用戶行為啟動VisualUserGenerator后,通過菜單

3.3.1錄制基本的用戶行為啟動VisualUserG183.3.1錄制基本的用戶行為新建一個用戶腳本,選擇系統(tǒng)通訊的協(xié)議。3.3.1錄制基本的用戶行為新建一個用戶腳本,選擇系統(tǒng)通訊193.3.1錄制基本的用戶行為這里我們主要需要測試的是Web應(yīng)用,所以我們需要選擇Web(HTTP/HTML)協(xié)議,確定后,進入主窗體。3.3.1錄制基本的用戶行為這里我們主要需要測試的是Web203.3.1錄制基本的用戶行為直接進入錄入選項頁,啟動腳本錄制。在此處選擇應(yīng)用的類型,瀏覽器類型,測試地址,以及工作目錄等。選擇要把錄制的腳本放到哪一個部分,默認情況下是“Action”。3.3.1錄制基本的用戶行為直接進入錄入選項頁,啟動腳本錄制213.3.1錄制基本的用戶行為也通過菜單,來啟動錄制腳本的命令。3.3.1錄制基本的用戶行為也通過菜單,來啟動錄制腳本的命223.3.1錄制基本的用戶行為這里簡單說明一下:VuGen中的腳本分為三部分:vuser_init、vuser_end和Action。

其中vuser_init和vuser_end都只能存在一個,不能再分割,而Action還可以分成無數(shù)多個部分(通過點擊New按鈕,新建ActionXXX)。注意:在重復(fù)執(zhí)行測試腳本時,vuser_init和user_end中的內(nèi)容只會執(zhí)行一次,重復(fù)執(zhí)行的只是Action中的部分。3.3.1錄制基本的用戶行為這里簡單說明一下:VuGen233.3.1錄制基本的用戶行為“Recordtheapplicationstartup”默認情況下是選中的,說明應(yīng)用程序一旦啟動,VuGen就會開始錄制腳本;如果沒有選中,應(yīng)用程序啟動后,VuGen出現(xiàn)以下對話框,并且暫時不會開始錄制腳本,用戶操作應(yīng)用程序到需要錄制的地方,按下“Record”按鈕,VuGen才開始錄制。3.3.1錄制基本的用戶行為“Recordtheapp243.3.1錄制基本的用戶行為點“Options”按鈕,進入錄制的設(shè)置窗體,這里一般情況下不需要改動。3.3.1錄制基本的用戶行為點“Options”按鈕253.3.1錄制基本的用戶行為RecordingOptions標簽頁:默認情況下選擇“HTML-basedScript”,說明腳本中采用HTML頁面的形式來表示,這種方式的Script腳本容易維護,容易理解,推薦這種方式錄制。

“URL-basedScript”說明腳本中的表示采用基于URL的方式。

選擇哪種方式錄制,有以下參考原則:

1基于瀏覽器的應(yīng)用程序推薦使用HTML-basedScript

2不是基于瀏覽器的應(yīng)用程序推薦使用URL-basedScript。

3如果基于瀏覽器的應(yīng)用程序中包含了JavaScript并且該腳本向服務(wù)器產(chǎn)生了請求,比如DataGrid的分頁按鈕等,也要使用URL-based方式錄制

4基于瀏覽器的應(yīng)用程序中使用了HTTPS安全協(xié)議,使用URL-based方式錄制3.3.1錄制基本的用戶行為RecordingOption263.3.1錄制基本的用戶行為Advanced標簽頁:一般取默認情況即可。3.3.1錄制基本的用戶行為Advanced標簽頁:一般273.3.1錄制基本的用戶行為Correlation標簽頁:這里的內(nèi)容比較重要,需要定制,主要是為了在錄制過程中設(shè)置自動關(guān)聯(lián)。

注意:在錄制過程中,不要使用瀏覽器的“后退”功能,LoadRunner支持不好!3.3.1錄制基本的用戶行為Correlation標簽頁:283.3.1錄制基本的用戶行為錄制過程中,在屏幕上會有一個工具條出現(xiàn)。

下面我們簡單介紹一下各個按鈕的功能。3.3.1錄制基本的用戶行為錄制過程中,在屏幕上會有一個工293.3.1錄制基本的用戶行為錄制完成后,按下“結(jié)束錄制”按鈕,VuGen自動生成用戶腳本,退出錄制過程。腳本參考下頁的圖。3.3.1錄制基本的用戶行為錄制完成后,按下“結(jié)束錄制”303.4完善測試腳本當錄制完一個基本的用戶腳本后,在正式使用前我們還需要完善測試腳本,增強腳本的靈活性。一般情況下,我們通過以下方法來完善測試腳本。插入事務(wù)插入集合點插入注釋參數(shù)化輸入插入函數(shù)插入檢查點3.4完善測試腳本當錄制完一個基本的用戶腳本后,在正式使用313.4.1插入事務(wù)事務(wù)(Transaction):為了衡量服務(wù)器的性能,我們需要定義事務(wù)。比如:我們在腳本中有一個數(shù)據(jù)查詢操作,為了衡量服務(wù)器執(zhí)行查詢操作的性能,我們把這個操作定義為一個事務(wù),這樣在運行測試腳本時,LoadRunner運行到該事務(wù)的開始點時,LoadRunner就會開始計時,直到運行到該事務(wù)的結(jié)束點,計時結(jié)束。這個事務(wù)的運行時間在結(jié)果中會有反映。插入事務(wù)操作可以在錄制過程中進行,也可以在錄制結(jié)束后進行。LoadRunner運行在腳本中插入不限數(shù)量的事務(wù)。3.4.1插入事務(wù)事務(wù)(Transaction):為了323.4.1插入事務(wù)事務(wù)(Transaction):為了衡量服務(wù)器的性能,我們需要定義事務(wù)。比如:我們在腳本中有一個數(shù)據(jù)查詢操作,為了衡量服務(wù)器執(zhí)行查詢操作的性能,我們把這個操作定義為一個事務(wù),這樣在運行測試腳本時,LoadRunner運行到該事務(wù)的開始點時,LoadRunner就會開始計時,直到運行到該事務(wù)的結(jié)束點,計時結(jié)束。這個事務(wù)的運行時間在結(jié)果中會有反映。插入事務(wù)操作可以在錄制過程中進行,也可以在錄制結(jié)束后進行。LoadRunner運行在腳本中插入不限數(shù)量的事務(wù)。3.4.1插入事務(wù)事務(wù)(Transaction):為了333.4.1插入事務(wù)具體的操作方法如下:在需要定義事務(wù)的操作前面,通過菜單或者工具欄插入。出現(xiàn)以下對話框:

輸入該事務(wù)的名稱。注意:事務(wù)的名稱最好要有意義,能夠清楚的說明該事務(wù)完成的動3.4.1插入事務(wù)具體的操作方法如下:在需要定義事務(wù)的操作343.4.1插入事務(wù)插入事務(wù)的開始點后,下面需要在需要定義事務(wù)的操作后面插入事務(wù)的“結(jié)束點”。同樣通過菜單或者工具欄插入。

默認情況下,事務(wù)的名稱列出最近的一個事務(wù)名稱。一般情況下,事務(wù)名稱不用修改。事務(wù)的狀態(tài)默認情況下是LR_AUTO。一般情況下,我們也不需要修改,除非在手工編代碼時,有可能需要手動設(shè)置事務(wù)的狀態(tài)。3.4.1插入事務(wù)插入事務(wù)的開始點后,下面需要在需要定義事353.4.2插入集合點插入集合點是為了衡量在加重負載的情況下服務(wù)器的性能情況。在測試計劃中,可能會要求系統(tǒng)能夠承受1000人同時提交數(shù)據(jù),在LoadRunner中可以通過在提交數(shù)據(jù)操作前面加入集合點,這樣當虛擬用戶運行到提交數(shù)據(jù)的集合點時,LoadRunner就會檢查同時有多少用戶運行到集合點,如果不到1000人,LoadRunner就會命令已經(jīng)到集合點的用戶在此等待,當在集合點等待的用戶達到1000人時,LoadRunner命令1000人同時去提交數(shù)據(jù),從而達到測試計劃中的需求。

注意:集合點經(jīng)常和事務(wù)結(jié)合起來使用。集合點只能插入到Action部分,vuser_init和vuser_end中不能插入集合點。3.4.2插入集合點插入集合點是為了衡量在加重負載的情況下服363.4.2插入集合點具體的操作方法如下:在需要插入集合點的前面,通過菜單或者工具欄操作。出現(xiàn)對話框輸入該集合點的名稱。如:SubmitQueryData注意:集合點的名稱最好要有意義,能夠清楚的說明該集合點完成的動作。代碼如下:

3.4.2插入集合點具體的操作方法如下:在需要插入集合點的373.4.3插入注釋注釋的作用就不多說了,不過插入注釋最好是在錄制過程中。具體的操作方法如下:在需要插入注釋的前面,通過菜單或者工具欄操作。3.4.3插入注釋注釋的作用就不多說了,不過插入注釋最好是383.4.3插入注釋出現(xiàn)對話框腳本中注釋的代碼如下:3.4.3插入注釋出現(xiàn)對話框腳本中注釋的代碼如下:393.4.4參數(shù)化如果用戶在錄制腳本過程中,填寫提交了一些數(shù)據(jù),比如要增加數(shù)據(jù)庫記錄。這些操作都被記錄到了腳本中。當多個虛擬用戶運行腳本時,都會提交相同的記錄,這樣不符合實際的運行情況,而且有可能引起沖突。為了更加真實的模擬實際環(huán)境,需要各種各樣的輸入。參數(shù)化輸入是一種不錯的方法。用參數(shù)表示用戶的腳本有兩個優(yōu)點:

①可以使腳本的長度變短。

②可以使用不同的數(shù)值來測試你的腳本。參數(shù)化包含以下兩項任務(wù):

①在腳本中用參數(shù)取代常量值。

②設(shè)置參數(shù)的屬性以及數(shù)據(jù)源3.4.4參數(shù)化如果用戶在錄制腳本過程中,填寫提交了一些數(shù)403.4.4參數(shù)化參數(shù)化僅可以用于一個函數(shù)中的變量。你不能用參數(shù)表示非函數(shù)參數(shù)的字符串。

假如有以上的一個提交數(shù)據(jù)的窗體,我們想?yún)?shù)化高亮顯示的部分(31)。操作方法很簡單,我們只要選中“31”,然后點鼠標右鍵3.4.4參數(shù)化參數(shù)化僅可以用于一個函數(shù)中的變量。你不能用413.4.4參數(shù)化選擇“Replacewithaparameter.”,出現(xiàn)以下窗口:介紹一下參數(shù)的類型。DateTime:很簡單,在需要輸入日期/時間的地方,可以用DateTime類型來替代。屬性設(shè)置也很簡單,選擇一種格式即可。當然也可以定制格式。GroupName:暫時不知道何處能用到,但設(shè)置比較簡單。在實際運行中,LoadRunner使用該虛擬用戶所在的VuserGroup來代替。但是在VuGen中運行時,GroupName將會是None。3.4.4參數(shù)化選擇“Replacewithapar423.4.4參數(shù)化LoadGeneratorName:在實際運行中,LoadRunner使用該虛擬用戶所在LoadGenerator的機器名來代替。

IterationNumber:在實際運行中,LoadRunner使用該測試腳本當前循環(huán)的次數(shù)來代替。RandomNumber:隨機數(shù)。很簡單。在屬性設(shè)置中可以設(shè)置產(chǎn)生隨機數(shù)的范圍UniqueNumber:唯一的數(shù)。在屬性設(shè)置中可以設(shè)置第一個數(shù)以及遞增的數(shù)的大小。注意:使用該參數(shù)類型必須注意可以接受的最大數(shù)。例如:某個文本框能接受的最大數(shù)為99。當使用該參數(shù)類型時,設(shè)置第一個數(shù)為1,遞增的數(shù)為1,但100個虛擬用戶同時運行時,第100個虛擬用戶輸入的將是100,這樣腳本運行將會出錯。注意:這里說的遞增意思是各個用戶取第一個值的遞增數(shù),每個用戶相鄰的兩次循環(huán)之間的差值為1。舉例說明:假如起始數(shù)為1,遞增為5,那么第一個用戶第一次循環(huán)取值1,第二次循環(huán)取值2;第二個用戶第一次循環(huán)取值為6,第二次為7;依次類推。

3.4.4參數(shù)化LoadGeneratorName:433.4.4參數(shù)化VuserID:設(shè)置比較簡單。在實際運行中,LoadRunner使用該虛擬用戶的ID來代替,該ID是由Controller來控制的。但是在VuGen中運行時,VuserID將會是–1。File:需要在屬性設(shè)置中編輯文件,添加內(nèi)容,也可以從現(xiàn)成的數(shù)據(jù)庫中取數(shù)據(jù)(下面我們將會介紹)UserDefinedFunction:從用戶開發(fā)的dll文件提取數(shù)據(jù)。就目前我認為,這種方式?jīng)]有必要。VuGen支持C語言的語法,在VuGen中重新編寫類似的函數(shù)應(yīng)該不難。3.4.4參數(shù)化VuserID:設(shè)置比較簡單。在實際運行中443.4.4參數(shù)化:取隨機數(shù)點“Properties…..”按鈕,進行屬性設(shè)置窗口添入隨機數(shù)的取值范圍為(1-50),選擇一種數(shù)據(jù)格式。在UpdateValueon中有以下幾個選項:EachOccurrence:在運行時,每遇到一次該參數(shù),便會取一個新的值Eachiteration:運行時,在每一次循環(huán)中都取相同的值Once:運行時,在每次循環(huán)中,該參數(shù)只取一次值這里我們用的是隨機數(shù),選擇EachOccurrence非常合適。3.4.4參數(shù)化:取隨機數(shù)點“Properties…..”453.4.4參數(shù)化:參數(shù)化的數(shù)據(jù)選擇要參數(shù)化的數(shù)據(jù),右鍵,選擇“Replacewithaparameter.”,出現(xiàn)以下窗口:注意:參數(shù)的文件名不要使用con.dat、pm.dat或者lpt*.dat等系統(tǒng)裝置名3.4.4參數(shù)化:參數(shù)化的數(shù)據(jù)選擇要參數(shù)化的數(shù)據(jù),右鍵,選擇463.4.4參數(shù)化:參數(shù)化的數(shù)據(jù)下面我們將會連接數(shù)據(jù)庫,從數(shù)據(jù)表中選擇用戶名。點“DataWizard”按鈕添入連接字符串和SQL語句后,點Finish按鈕,出現(xiàn)查詢結(jié)果。3.4.4參數(shù)化:參數(shù)化的數(shù)據(jù)下面我們將會連接數(shù)據(jù)庫,從數(shù)據(jù)473.4.4參數(shù)化:參數(shù)化的數(shù)據(jù)提醒:在參數(shù)數(shù)據(jù)顯示區(qū),最多只能看到100行,如果數(shù)據(jù)超過100行,只能點“Edit”按鈕,進入記事本看。3.4.4參數(shù)化:參數(shù)化的數(shù)據(jù)提醒:在參數(shù)數(shù)據(jù)顯示區(qū),最多只483.4.4參數(shù)化“Selectnextrow”有以下幾種選擇:Sequential:按照順序一行行的讀取。每一個虛擬用戶都會按照相同的順序讀取。Random:在每次循環(huán)里隨機的讀取一個,但是在循環(huán)中一直保持不變。Unique:唯一的數(shù)。注意:使用該類型必須注意數(shù)據(jù)表有足夠多的數(shù)。比如Controller中設(shè)定20個虛擬用戶進行5次循環(huán),那么編號為1的虛擬用戶取前5個數(shù),編號為2的虛擬用戶取6-10的數(shù),依次類推,這樣數(shù)據(jù)表中至少要有100個數(shù)據(jù),否則Controller運行過程中會返回一個錯誤。SameLineAs某個參數(shù)(比如Name):和前面定義的參數(shù)Name取同行的記錄。通常用在有關(guān)聯(lián)性的數(shù)據(jù)上面。說明:一般情況下,我們這里取值Sequential即可。Advanceroweachiteration選中即可,表示每一次循環(huán)都往前走一行。3.4.4參數(shù)化“Selectnextrow”有以下幾493.4.5插入函數(shù)VuGen中可以使用C語言中比較標準的函數(shù)和數(shù)據(jù)類型,語法和C語言相同。下面簡單介紹一下比較常用的函數(shù)和數(shù)據(jù)類型。1.控制腳本流程if{}else{}for{}while{}……………總之C語言的控制流程的語句這里都可以直接使用3.4.5插入函數(shù)VuGen中可以使用C語言中比較標準的503.4.5插入函數(shù)2.字符串函數(shù)由于在VuGen腳本中使用最多的還是字符串,所以字符串函數(shù)在腳本中使用非常頻繁。具體的語法請參考幫助說明。strcmp比較兩個字符串strcat連接兩個字符串strcpy拷貝字符串注意:在VuGen中,以char*聲明的字符串是只讀的,如果試圖給char*類型的字符串賦值的話,編譯會通過,但在運行時會產(chǎn)生“AccessViolation”的錯誤。解決這類問題,就是把字符串聲明為字符數(shù)組,比如char[100]。3.4.5插入函數(shù)2.字符串函數(shù)513.4.5插入函數(shù)3.輸出函數(shù)輸出函數(shù)在調(diào)試腳本時非常有用。lr_output_message輸出一條消息4.LoadRunner提供的標準函數(shù)lr_eval_string該函數(shù)功能是得到參數(shù)(參數(shù)化輸入中)當前的值exg:lr_output_message("temp=%s",lr_eval_string("{WCSParam2}"));lr_save_string該函數(shù)功能是把一個字符串保存到參數(shù)中exg:lr_save_string("439","WCSParam3");3.4.5插入函數(shù)3.輸出函數(shù)523.4.6插入檢查點在進行壓力測試時,為了檢查Web服務(wù)器返回的網(wǎng)頁是否正確,VuGen允許我們插入Text/Imag檢查點,這些檢查點驗證網(wǎng)頁上是否存在指定的Text或者Imag,還可以測試在比較大的壓力測試環(huán)境中,被測的網(wǎng)站功能是否保持正確。檢查點的含義和WinRunner中的檢查點功能基本上一致,這里就不再作過多的說明。VuGen在測試Web時,有兩種視圖方式:TreeView/ScriptView。前面我們見到的一直都是ScriptView。在插入Text/Imag檢查點時,我覺得用TreeView視圖會比較方便。在這種視圖之間切換,可以通過菜單或者工具欄的方式3.4.6插入檢查點在進行壓力測試時,為了檢查Web服務(wù)器533.4.6插入檢查點3.4.6插入檢查點543.4.6插入檢查點我們就切換到TreeView視圖插入檢查點的步驟比較簡單。添加Text/Imag檢查點,可以在錄制過程中,也可以在錄制完成后進行。推薦最好能在錄制過程中添加Text/Imag檢查點。3.4.6插入檢查點我們就切換到TreeView視圖插入553.4.6插入檢查點先在樹形菜單中選擇需要插入檢查點的一項,然后點鼠標右鍵,選擇將檢查點插到該操作執(zhí)行前還是該操作執(zhí)行后。如果在該操作執(zhí)行前,則選擇“InsertBefore”,否則選擇“InsertAfter”。3.4.6插入檢查點先在樹形菜單中選擇需要插入檢查點的一項,563.4.6插入檢查點然后彈出對話框,如下,選擇“TextCheck”(這里以Text檢查點為例說明)出現(xiàn)TextCheckProperties對話框注意:這里要搜索的字符串可以使用正則表達式。3.4.6插入檢查點然后彈出對話框,如下,選擇“TextC573.4.6插入檢查點然后切換到“General”標簽頁確定后,即可完成添加Text檢查點的任務(wù)。3.4.6插入檢查點然后切換到“General”標簽頁確定后583.4.6插入檢查點添加Imag檢查點的操作步驟和Text檢查點差不多,這里僅僅對ImagCheckProperties窗口進行說明。其他的和Text檢查點類似,不再詳細說明。3.4.6插入檢查點添加Imag檢查點的操作步驟和Tex593.4.6插入檢查點當然VuGen還允許插入其他類型的檢查點函數(shù),比如web_reg_find、Web_global_verification等。而且這里也可以對搜索Text/Imag值的參數(shù)化注:如果Web窗體中包含有JavaScript腳本,那么在TreeView視圖中顯示可能會有問題。解決這個問題,可以設(shè)置一下。3.4.6插入檢查點當然VuGen還允許插入其他類型的檢603.5Run-TimeSetting打開Run-TimeSetting窗口,可以通過菜單或者工具欄進行。操作后出現(xiàn)Run-TimeSetting窗口,打開“General”標簽頁3.5Run-TimeSetting打開Run-Tim613.5Run-TimeSettingRunlogics迭代次數(shù),InsertBlock(可以把好幾個action放在一個Block里面)3.5Run-TimeSettingRunlogics623.5Run-TimeSettingPacing迭代的設(shè)置,設(shè)置以一種怎么樣的方式開始下一次反復(fù)。3.5Run-TimeSettingPacing迭代的設(shè)633.5Run-TimeSettingLog日志的設(shè)置,設(shè)置成是否啟動。以及日志級別3.5Run-TimeSettingLog日志的設(shè)置,643.5Run-TimeSettingThinkTime腳本中思考時間設(shè)置。3.5Run-TimeSettingThinkTime653.5Run-TimeSettingmsicellaneous這個里面,線程還是進程。出現(xiàn)錯誤后的處理方式,主要配置其他運行時候的設(shè)置3.5Run-TimeSettingmsicellane663.5Run-TimeSettingspeedslimulation用來模擬網(wǎng)速3.5Run-TimeSettingspeedslim673.5Run-TimeSetting切換到“Preferences”標簽頁,這里僅僅對兩個經(jīng)常需要改動的選項進行說明。3.5Run-TimeSetting切換到“Prefer683.5Run-TimeSetting“ContentCheck”標簽。這里的設(shè)置是為了讓VuGen檢測何種頁面為錯誤頁面3.5Run-TimeSetting“ContentCh693.6單機運行測試腳本運行腳本可以通過菜單或者工具欄來操作。執(zhí)行“運行”命令后,VuGen先編譯腳本,檢查是否有語法等錯誤。如果有錯誤,VuGen將會提示錯誤。雙擊錯誤提示,VuGen能夠定位到出現(xiàn)錯誤的那一行。為了驗證腳本的正確性,我們還可以調(diào)試腳本,比如在腳本中加斷點等,操作和在VC中完全一樣。3.6單機運行測試腳本運行腳本可以通過菜單或者工具欄來操作。703.6單機運行測試腳本3.6單機運行測試腳本713.7其它功能壓縮腳本文件3.7其它功能壓縮腳本文件723.7其它功能tools菜單3.7其它功能tools菜單73THANKYOU性能測試loadrunner詳細講解74性能測試培訓(xùn)性能測試培訓(xùn)75培訓(xùn)目的了解常用的性能測試工具了解Loadrunner目錄了解Loadrunner的用戶行為模擬相關(guān)操作Loadrunner解惑與經(jīng)驗培訓(xùn)目的了解常用的性能測試工具76培訓(xùn)內(nèi)容常用的性能測試工具介紹Loadrunner目錄分析Loadrunner用戶行為模擬VuGen簡介及錄制流程界面介紹錄制基本的用戶行為完善測試腳本開發(fā)Runtimeset單機運行腳本其它

培訓(xùn)內(nèi)容常用的性能測試工具介紹771常用的性能測試工具_開源工具OpenSTA:開源項目,功能強大,自定義功能設(shè)置完備,但設(shè)置通過Script來完成。必須學(xué)習Script編寫。WAS(WebApplicationStressTool):微軟的工具,輸出結(jié)果是純文本的。1常用的性能測試工具_開源工具OpenSTA:開源項目,功781常用的性能測試工具_商業(yè)工具

工具名稱LoadRunnerQALoadWebLoad出品公司MICompuwareRadview價格昂貴較貴一般安裝配置復(fù)雜性簡單簡單一般操作性較復(fù)雜簡單簡單支持測試對象各種中間件/數(shù)據(jù)庫/應(yīng)用服務(wù)器的性能監(jiān)控/企業(yè)架構(gòu)(j2ee和.net)的測試客戶/服務(wù)器系統(tǒng)、企業(yè)資源配置(ERP)和電子商務(wù)應(yīng)用WebApplication支持平臺windows,unix或linuxHP-UX,IBMAIX,SunSolaris,Linux,NT/2kUnixWindows支持數(shù)據(jù)庫DB2,SQLserver,Orcale,SybaseADO,DB2,Oracle,Sybase,SQLserver,OdbcADO,DB2,Oracle,Sybase,SQLserver,Odbc功能點創(chuàng)建虛擬用戶,創(chuàng)建真實的負載,定位性能問題,分析結(jié)果以精確定位問題所在,重復(fù)測試保證系統(tǒng)發(fā)布的高性能等預(yù)測系統(tǒng)性能、通過重復(fù)測試尋找瓶頸問題、從控制中心管理全局負載測試、快速創(chuàng)建仿真的測試、驗證應(yīng)用的可擴展性。強大的專業(yè)網(wǎng)站性能測試,虛擬多用戶虛擬用戶數(shù)量成千上萬成百上千理論上無限,不過受機器的限制,同時運行太多影響結(jié)果的準確性1常用的性能測試工具_商業(yè)工具

工具名稱LoadRunne792loadrunner目錄分析AnalysisTemplates----分析模板,可以自己建一個Bin-----可執(zhí)行程序,注意里面的CHM幫助文檔bincerts--安全證書classes--可能用到的一些jar包dat--備份文件和配置信息ejbcomponent--ejb用的一些組件,相關(guān)的jar包help--幫助中心。2loadrunner目錄分析AnalysisTempla802loadrunner目錄分析include--頭文件(可以編寫自定義函數(shù),保存為.h的頭文件格式,并放在這個目錄,以后只需要調(diào)用這個頭文件就可以正常使用了)samples---一些實例,有java的tutorial---快速入門的實例,可以直接使用WebTours--實例網(wǎng)站template--這個目錄好像好多東西。winpcap--一個網(wǎng)絡(luò)協(xié)議驅(qū)動的安裝程序2loadrunner目錄分析include--頭文件(可813.Loadrunner用戶行為模擬內(nèi)容VuGen簡介及錄制流程界面介紹錄制基本的用戶行為完善測試腳本開發(fā)插入事務(wù)插入集合點插入注釋參數(shù)化輸入插入函數(shù)插入檢查點Runtimeset單機運行腳本其它3.Loadrunner用戶行為模擬內(nèi)容VuGen簡介及錄制823.1Loadrunner用戶行為模擬簡介VirtualUserGenerator是一種基于錄制回放的工具,loadrunner擁有各種Vuser類型,每一種類型都適合于特定的負載測試環(huán)境。性能測試的第一步也是最重要的一步就是生成虛擬用戶腳本(VuserScript)。在VuGen中錄制得到用戶的行為就好比虛擬了一個用戶的行為,所以我們稱該模擬的用戶為Vuser,這個腳本稱為VuserScript。注意:Vuser僅能錄制Windows平臺上的會話,但錄制的Vuser腳本既可以在Windows平臺上運行,也可以在UNIX平臺上運行3.1Loadrunner用戶行為模擬簡介Virtua833.1用戶行為模擬流程通常使用VuGen進行用戶行為模擬的流程如圖所示。創(chuàng)建用戶腳本需要用到VuGen。提示:運行VuGen最好在1024*768的分辨率下,否則有些工具欄會看不到。3.1用戶行為模擬流程通常使用VuGen進行用戶行為模擬的流843.2VuGen界面介紹內(nèi)容

界面簡介選擇協(xié)議類型Task模式3.2VuGen界面介紹內(nèi)容

界面簡介853.2VuGen界面介紹

新建一個腳本,選擇Web(HTTP/HTML)協(xié)議后,即可得到開發(fā)界面。在VuGen中提供了兩種腳本視圖方式(Script/Tree),可以通過菜單欄的對應(yīng)按鈕進行切換,

也可以通過View菜單下的選項進行切換。Tree圖形化模式腳本模式3.2VuGen界面介紹

新建一個腳本,選擇Web(863.2.1VuGen界面介紹在Tree圖形化模式下,左側(cè)會列出該腳本使用的函數(shù)(雙擊可以直接使用圖形化修改函數(shù)),右側(cè)提供了該請求對應(yīng)的截圖(自行編寫的腳本和部分協(xié)議不會帶有Snapshot截圖)。一般通過這種視圖來檢查錄制是否正確或進行某些函數(shù)的圖形化修改。在腳本模式界面中,左側(cè)是腳本Action的列表,右側(cè)是代碼部分。從開發(fā)方便的角度來說,一般使用這個模式的情況多一些。3.2.1VuGen界面介紹在Tree圖形化模式下,左側(cè)會列873.2.1VuGen界面介紹在屏幕的下方提供了OutputWindow,包含錄制、回放、關(guān)聯(lián)等相關(guān)信息的輸出管理。3.2.1VuGen界面介紹在屏幕的下方提供了Output883.2.2選擇錄制協(xié)議

1:默認的新建單協(xié)議版本---(所以協(xié)議選擇非常重要)可以查看所有協(xié)議或按類型來查看對應(yīng)的可用協(xié)議。2:新建多協(xié)議版本創(chuàng)建多協(xié)議Vuser腳本,VuGen顯示所有的可用協(xié)議,指定錄制所需要的幾組協(xié)議即可。3:使用最近使用過的協(xié)議創(chuàng)建腳本3.2.2選擇錄制協(xié)議

1:默認的新建單協(xié)議版本---(所以893.2.2協(xié)議類型說明

3.2.2協(xié)議類型說明

903.2.3Task模式

LoadRunner中的Task(稱為“任務(wù)欄”或“工作流”),用于指導(dǎo)新手一步步按照標準的流程錄制測試、編輯測試、回放運行測試,最后得到測試結(jié)果并進行分析。從View菜單選擇task,加載task模式。3.2.3Task模式

LoadRunner中的Task(稱913.3.1錄制基本的用戶行為啟動VisualUserGenerator后,通過菜單

3.3.1錄制基本的用戶行為啟動VisualUserG923.3.1錄制基本的用戶行為新建一個用戶腳本,選擇系統(tǒng)通訊的協(xié)議。3.3.1錄制基本的用戶行為新建一個用戶腳本,選擇系統(tǒng)通訊933.3.1錄制基本的用戶行為這里我們主要需要測試的是Web應(yīng)用,所以我們需要選擇Web(HTTP/HTML)協(xié)議,確定后,進入主窗體。3.3.1錄制基本的用戶行為這里我們主要需要測試的是Web943.3.1錄制基本的用戶行為直接進入錄入選項頁,啟動腳本錄制。在此處選擇應(yīng)用的類型,瀏覽器類型,測試地址,以及工作目錄等。選擇要把錄制的腳本放到哪一個部分,默認情況下是“Action”。3.3.1錄制基本的用戶行為直接進入錄入選項頁,啟動腳本錄制953.3.1錄制基本的用戶行為也通過菜單,來啟動錄制腳本的命令。3.3.1錄制基本的用戶行為也通過菜單,來啟動錄制腳本的命963.3.1錄制基本的用戶行為這里簡單說明一下:VuGen中的腳本分為三部分:vuser_init、vuser_end和Action。

其中vuser_init和vuser_end都只能存在一個,不能再分割,而Action還可以分成無數(shù)多個部分(通過點擊New按鈕,新建ActionXXX)。注意:在重復(fù)執(zhí)行測試腳本時,vuser_init和user_end中的內(nèi)容只會執(zhí)行一次,重復(fù)執(zhí)行的只是Action中的部分。3.3.1錄制基本的用戶行為這里簡單說明一下:VuGen973.3.1錄制基本的用戶行為“Recordtheapplicationstartup”默認情況下是選中的,說明應(yīng)用程序一旦啟動,VuGen就會開始錄制腳本;如果沒有選中,應(yīng)用程序啟動后,VuGen出現(xiàn)以下對話框,并且暫時不會開始錄制腳本,用戶操作應(yīng)用程序到需要錄制的地方,按下“Record”按鈕,VuGen才開始錄制。3.3.1錄制基本的用戶行為“Recordtheapp983.3.1錄制基本的用戶行為點“Options”按鈕,進入錄制的設(shè)置窗體,這里一般情況下不需要改動。3.3.1錄制基本的用戶行為點“Options”按鈕993.3.1錄制基本的用戶行為RecordingOptions標簽頁:默認情況下選擇“HTML-basedScript”,說明腳本中采用HTML頁面的形式來表示,這種方式的Script腳本容易維護,容易理解,推薦這種方式錄制。

“URL-basedScript”說明腳本中的表示采用基于URL的方式。

選擇哪種方式錄制,有以下參考原則:

1基于瀏覽器的應(yīng)用程序推薦使用HTML-basedScript

2不是基于瀏覽器的應(yīng)用程序推薦使用URL-basedScript。

3如果基于瀏覽器的應(yīng)用程序中包含了JavaScript并且該腳本向服務(wù)器產(chǎn)生了請求,比如DataGrid的分頁按鈕等,也要使用URL-based方式錄制

4基于瀏覽器的應(yīng)用程序中使用了HTTPS安全協(xié)議,使用URL-based方式錄制3.3.1錄制基本的用戶行為RecordingOption1003.3.1錄制基本的用戶行為Advanced標簽頁:一般取默認情況即可。3.3.1錄制基本的用戶行為Advanced標簽頁:一般1013.3.1錄制基本的用戶行為Correlation標簽頁:這里的內(nèi)容比較重要,需要定制,主要是為了在錄制過程中設(shè)置自動關(guān)聯(lián)。

注意:在錄制過程中,不要使用瀏覽器的“后退”功能,LoadRunner支持不好!3.3.1錄制基本的用戶行為Correlation標簽頁:1023.3.1錄制基本的用戶行為錄制過程中,在屏幕上會有一個工具條出現(xiàn)。

下面我們簡單介紹一下各個按鈕的功能。3.3.1錄制基本的用戶行為錄制過程中,在屏幕上會有一個工1033.3.1錄制基本的用戶行為錄制完成后,按下“結(jié)束錄制”按鈕,VuGen自動生成用戶腳本,退出錄制過程。腳本參考下頁的圖。3.3.1錄制基本的用戶行為錄制完成后,按下“結(jié)束錄制”1043.4完善測試腳本當錄制完一個基本的用戶腳本后,在正式使用前我們還需要完善測試腳本,增強腳本的靈活性。一般情況下,我們通過以下方法來完善測試腳本。插入事務(wù)插入集合點插入注釋參數(shù)化輸入插入函數(shù)插入檢查點3.4完善測試腳本當錄制完一個基本的用戶腳本后,在正式使用1053.4.1插入事務(wù)事務(wù)(Transaction):為了衡量服務(wù)器的性能,我們需要定義事務(wù)。比如:我們在腳本中有一個數(shù)據(jù)查詢操作,為了衡量服務(wù)器執(zhí)行查詢操作的性能,我們把這個操作定義為一個事務(wù),這樣在運行測試腳本時,LoadRunner運行到該事務(wù)的開始點時,LoadRunner就會開始計時,直到運行到該事務(wù)的結(jié)束點,計時結(jié)束。這個事務(wù)的運行時間在結(jié)果中會有反映。插入事務(wù)操作可以在錄制過程中進行,也可以在錄制結(jié)束后進行。LoadRunner運行在腳本中插入不限數(shù)量的事務(wù)。3.4.1插入事務(wù)事務(wù)(Transaction):為了1063.4.1插入事務(wù)事務(wù)(Transaction):為了衡量服務(wù)器的性能,我們需要定義事務(wù)。比如:我們在腳本中有一個數(shù)據(jù)查詢操作,為了衡量服務(wù)器執(zhí)行查詢操作的性能,我們把這個操作定義為一個事務(wù),這樣在運行測試腳本時,LoadRunner運行到該事務(wù)的開始點時,LoadRunner就會開始計時,直到運行到該事務(wù)的結(jié)束點,計時結(jié)束。這個事務(wù)的運行時間在結(jié)果中會有反映。插入事務(wù)操作可以在錄制過程中進行,也可以在錄制結(jié)束后進行。LoadRunner運行在腳本中插入不限數(shù)量的事務(wù)。3.4.1插入事務(wù)事務(wù)(Transaction):為了1073.4.1插入事務(wù)具體的操作方法如下:在需要定義事務(wù)的操作前面,通過菜單或者工具欄插入。出現(xiàn)以下對話框:

輸入該事務(wù)的名稱。注意:事務(wù)的名稱最好要有意義,能夠清楚的說明該事務(wù)完成的動3.4.1插入事務(wù)具體的操作方法如下:在需要定義事務(wù)的操作1083.4.1插入事務(wù)插入事務(wù)的開始點后,下面需要在需要定義事務(wù)的操作后面插入事務(wù)的“結(jié)束點”。同樣通過菜單或者工具欄插入。

默認情況下,事務(wù)的名稱列出最近的一個事務(wù)名稱。一般情況下,事務(wù)名稱不用修改。事務(wù)的狀態(tài)默認情況下是LR_AUTO。一般情況下,我們也不需要修改,除非在手工編代碼時,有可能需要手動設(shè)置事務(wù)的狀態(tài)。3.4.1插入事務(wù)插入事務(wù)的開始點后,下面需要在需要定義事1093.4.2插入集合點插入集合點是為了衡量在加重負載的情況下服務(wù)器的性能情況。在測試計劃中,可能會要求系統(tǒng)能夠承受1000人同時提交數(shù)據(jù),在LoadRunner中可以通過在提交數(shù)據(jù)操作前面加入集合點,這樣當虛擬用戶運行到提交數(shù)據(jù)的集合點時,LoadRunner就會檢查同時有多少用戶運行到集合點,如果不到1000人,LoadRunner就會命令已經(jīng)到集合點的用戶在此等待,當在集合點等待的用戶達到1000人時,LoadRunner命令1000人同時去提交數(shù)據(jù),從而達到測試計劃中的需求。

注意:集合點經(jīng)常和事務(wù)結(jié)合起來使用。集合點只能插入到Action部分,vuser_init和vuser_end中不能插入集合點。3.4.2插入集合點插入集合點是為了衡量在加重負載的情況下服1103.4.2插入集合點具體的操作方法如下:在需要插入集合點的前面,通過菜單或者工具欄操作。出現(xiàn)對話框輸入該集合點的名稱。如:SubmitQueryData注意:集合點的名稱最好要有意義,能夠清楚的說明該集合點完成的動作。代碼如下:

3.4.2插入集合點具體的操作方法如下:在需要插入集合點的1113.4.3插入注釋注釋的作用就不多說了,不過插入注釋最好是在錄制過程中。具體的操作方法如下:在需要插入注釋的前面,通過菜單或者工具欄操作。3.4.3插入注釋注釋的作用就不多說了,不過插入注釋最好是1123.4.3插入注釋出現(xiàn)對話框腳本中注釋的代碼如下:3.4.3插入注釋出現(xiàn)對話框腳本中注釋的代碼如下:1133.4.4參數(shù)化如果用戶在錄制腳本過程中,填寫提交了一些數(shù)據(jù),比如要增加數(shù)據(jù)庫記錄。這些操作都被記錄到了腳本中。當多個虛擬用戶運行腳本時,都會提交相同的記錄,這樣不符合實際的運行情況,而且有可能引起沖突。為了更加真實的模擬實際環(huán)境,需要各種各樣的輸入。參數(shù)化輸入是一種不錯的方法。用參數(shù)表示用戶的腳本有兩個優(yōu)點:

①可以使腳本的長度變短。

②可以使用不同的數(shù)值來測試你的腳本。參數(shù)化包含以下兩項任務(wù):

①在腳本中用參數(shù)取代常量值。

②設(shè)置參數(shù)的屬性以及數(shù)據(jù)源3.4.4參數(shù)化如果用戶在錄制腳本過程中,填寫提交了一些數(shù)1143.4.4參數(shù)化參數(shù)化僅可以用于一個函數(shù)中的變量。你不能用參數(shù)表示非函數(shù)參數(shù)的字符串。

假如有以上的一個提交數(shù)據(jù)的窗體,我們想?yún)?shù)化高亮顯示的部分(31)。操作方法很簡單,我們只要選中“31”,然后點鼠標右鍵3.4.4參數(shù)化參數(shù)化僅可以用于一個函數(shù)中的變量。你不能用1153.4.4參數(shù)化選擇“Replacewithaparameter.”,出現(xiàn)以下窗口:介紹一下參數(shù)的類型。DateTime:很簡單,在需要輸入日期/時間的地方,可以用DateTime類型來替代。屬性設(shè)置也很簡單,選擇一種格式即可。當然也可以定制格式。GroupName:暫時不知道何處能用到,但設(shè)置比較簡單。在實際運行中,LoadRunner使用該虛擬用戶所在的VuserGroup來代替。但是在VuGen中運行時,GroupName將會是None。3.4.4參數(shù)化選擇“Replacewithapar1163.4.4參數(shù)化LoadGeneratorName:在實際運行中,LoadRunner使用該虛擬用戶所在LoadGenerator的機器名來代替。

IterationNumber:在實際運行中,LoadRunner使用該測試腳本當前循環(huán)的次數(shù)來代替。RandomNumber:隨機數(shù)。很簡單。在屬性設(shè)置中可以設(shè)置產(chǎn)生隨機數(shù)的范圍UniqueNumber:唯一的數(shù)。在屬性設(shè)置中可以設(shè)置第一個數(shù)以及遞增的數(shù)的大小。注意:使用該參數(shù)類型必須注意可以接受的最大數(shù)。例如:某個文本框能接受的最大數(shù)為99。當使用該參數(shù)類型時,設(shè)置第一個數(shù)為1,遞增的數(shù)為1,但100個虛擬用戶同時運行時,第100個虛擬用戶輸入的將是100,這樣腳本運行將會出錯。注意:這里說的遞增意思是各個用戶取第一個值的遞增數(shù),每個用戶相鄰的兩次循環(huán)之間的差值為1。舉例說明:假如起始數(shù)為1,遞增為5,那么第一個用戶第一次循環(huán)取值1,第二次循環(huán)取值2;第二個用戶第一次循環(huán)取值為6,第二次為7;依次類推。

3.4.4參數(shù)化LoadGeneratorName:1173.4.4參數(shù)化VuserID:設(shè)置比較簡單。在實際運行中,LoadRunner使用該虛擬用戶的ID來代替,該ID是由Controller來控制的。但是在VuGen中運行時,VuserID將會是–1。File:需要在屬性設(shè)置中編輯文件,添加內(nèi)容,也可以從現(xiàn)成的數(shù)據(jù)庫中取數(shù)據(jù)(下面我們將會介紹)UserDefinedFunction:從用戶開發(fā)的dll文件提取數(shù)據(jù)。就目前我認為,這種方式?jīng)]有必要。VuGen支持C語言的語法,在VuGen中重新編寫類似的函數(shù)應(yīng)該不難。3.4.4參數(shù)化VuserID:設(shè)置比較簡單。在實際運行中1183.4.4參數(shù)化:取隨機數(shù)點“Properties…..”按鈕,進行屬性設(shè)置窗口添入隨機數(shù)的取值范圍為(1-50),選擇一種數(shù)據(jù)格式。在UpdateValueon中有以下幾個選項:EachOccurrence:在運行時,每遇到一次該參數(shù),便會取一個新的值Eachiteration:運行時,在每一次循環(huán)中都取相同的值Once:運行時,在每次循環(huán)中,該參數(shù)只取一次值這里我們用的是隨機數(shù),選擇EachOccurrence非常合適。3.4.4參數(shù)化:取隨機數(shù)點“Properties…..”1193.4.4參數(shù)化:參數(shù)化的數(shù)據(jù)選擇要參數(shù)化的數(shù)據(jù),右鍵,選擇“Replacewithaparameter.”,出現(xiàn)以下窗口:注意:參數(shù)的文件名不要使用con.dat、pm.dat或者lpt*.dat等系統(tǒng)裝置名3.4.4參數(shù)化:參數(shù)化的數(shù)據(jù)選擇要參數(shù)化的數(shù)據(jù),右鍵,選擇1203.4.4參數(shù)化:參數(shù)化的數(shù)據(jù)下面我們將會連接數(shù)據(jù)庫,從數(shù)據(jù)表中選擇用戶名。點“DataWizard”按鈕添入連接字符串和SQL語句后,點Finish按鈕,出現(xiàn)查詢結(jié)果。3.4.4參數(shù)化:參數(shù)化的數(shù)據(jù)下面我們將會連接數(shù)據(jù)庫,從數(shù)據(jù)1213.4.4參數(shù)化:參數(shù)化的數(shù)據(jù)提醒:在參數(shù)數(shù)據(jù)顯示區(qū),最多只能看到100行,如果數(shù)據(jù)超過100行,只能點“Edit”按鈕,進入記事本看。3.4.4參數(shù)化:參數(shù)化的數(shù)據(jù)提醒:在參數(shù)數(shù)據(jù)顯示區(qū),最多只1223.4.4參數(shù)化“Selectnextrow”有以下幾種選擇:Sequential:按照順序一行行的讀取。每一個虛擬用戶都會按照相同的順序讀取。Random:在每次循環(huán)里隨機的讀取一個,但是在循環(huán)中一直保持不變。Unique:唯一的數(shù)。注意:使用該類型必須注意數(shù)據(jù)表有足夠多的數(shù)。比如Controller中設(shè)定20個虛擬用戶進行5次循環(huán),那么編號為1的虛擬用戶取前5個數(shù),編號為2的虛擬用戶取6-10的數(shù),依次類推,這樣數(shù)據(jù)表中至少要有100個數(shù)據(jù),否則Controller運行過程中會返回一個錯誤。SameLineAs某個參數(shù)(比如Name):和前面定義的參數(shù)Name取同行的記錄。通常用在有關(guān)聯(lián)性的數(shù)據(jù)上面。說明:一般情況下,我們這里取值Sequential即可。Advanceroweachiteration選中即可,表示每一次循環(huán)都往前走一行。3.4.4參數(shù)化“Selectnextrow”有以下幾1233.4.5插入函數(shù)VuGen中可以使用C語言中比較標準的函數(shù)和數(shù)據(jù)類型,語法和C語言相同。下面簡單介紹一下比較常用的函數(shù)和數(shù)據(jù)類型。1.控制腳本流程if{}else{}for{}while{}……………總之C語言的控制流程的語句這里都可以直接使用3.4.5插入函數(shù)VuGen中可以使用C語言中比較標準的1243.4.5插入函數(shù)2.字符串函數(shù)由于在VuGen腳本中使用最多的還是字符串,所以字符串函數(shù)在腳本中使用非常頻繁。具體的語法請參考幫助說明。strcmp比較兩個字符串strcat連接兩個字符串strcpy拷貝字符串注意:在VuGen中,以char*聲明的字符串是只讀的,如果試圖給char*類型的字符串賦值的話,編譯會通過,但在運行時會產(chǎn)生“AccessViolation”的錯誤。解決這類問題,就是把字符串聲明為字符數(shù)組,比如char[100]。3.4.5插入函數(shù)2.字符串函數(shù)1253.4.5插入函數(shù)3.輸出函數(shù)輸出函數(shù)在調(diào)試腳本時非常有用。lr_output_message輸出一條消息4.LoadRunner提供的標準函數(shù)lr_eval_string該函數(shù)功能是得到參數(shù)(參數(shù)化輸入中)當前的值exg:lr_output_message("temp=%s",lr_eval_string("{WCSParam2}"));lr_save_string該函數(shù)功能是把一個字符串保存到參數(shù)中exg:lr_save_string("439","WCSParam3"

溫馨提示

  • 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

提交評論