軟件測試教程 性能測試Loadrunner篇(二)

軟件測試教程 性能測試Loadrunner篇(二)


上節(jié)課主要講述了性能測試的基本知識本今,現(xiàn)在開始介紹性能測試工具Loadrunner。

Loadrunner是業(yè)界公認的權(quán)威性能測試工具鹰溜,被譽為工業(yè)級的性能測試工具,支持廣泛的協(xié)議和平臺戚哎。

本節(jié)主要介紹以下內(nèi)容:

Loadrunner安裝

Loadrunner的基本概念

開發(fā)測試腳本

Loadrunner安裝

現(xiàn)在以Loadrunner12為例味赃,說明一下安裝過程。

1滔悉、雙擊HP LoadRunner 12.53 Community Edition.exe啟動安裝程序

2伊诵、安裝程序開始解壓,選擇默認路徑即可回官,點擊install

3曹宴、Loadrunner程序會使用到Visual C++的庫,如果缺少這些庫歉提,安裝程序會提示安裝笛坦,這時選擇“確定”進行安裝即可,過程中如果提示重啟苔巨,按要求重啟即可版扩,重啟后會繼續(xù)進行安裝過程。

4恋拷、按照默認操作一步步進行安裝

5资厉、安裝過程中會有如下的提示。若無指定代理使用的證書蔬顾,則去掉勾選宴偿。

image.png

6湘捎、至此,Loadrunner已安裝完畢窄刘。HP network Virtualization為可選項窥妇,可不安裝。

7娩践、雙擊HP LoadRunner 12.53 Community Edition - Language Packs活翩,安裝中文包。

系統(tǒng)將抽取語言包安裝包翻伺,可選擇抽取的語言包臨時存放路徑材泄。建議直接默認即可,點擊【Install】

8吨岭、抽取安裝包完成后將自動關(guān)閉窗口(注此處只是把安裝包抽取出來了拉宗,要到抽取的安裝包中進行安裝),此時需要到上一步中選擇的路徑中找到語言安裝包辣辫。如未修改路徑則在以下路徑”C:\Temp\HP LoadRunner 12.02 Community Edition\DVD“打開該文件夾旦事。點擊”Setup“

9、將自動打開安裝目錄急灭,點擊【語言】

10姐浮、打開選擇語言文件夾,選擇要安裝的語言葬馋。本處依次打開如下文件【Chinese-Simplified】→【LoadRunner】→【LR_CHS】卖鲤,點擊【LR_CHS】將進行安裝。(其實可以省略掉第8,9步点楼,直接找到該文件安裝即可)

Loadrunner的基本概念

在使用loadrunner之前扫尖,先了解一下幾個概念:

  • Scenario:場景。所謂場景掠廓,是指在每一個測試過程中發(fā)生的事件换怖,場景的設(shè)計需要
  • Vusers:虛擬用戶。LoadRunner使用多線程或多進程來模擬用戶對應(yīng)用程序操作時產(chǎn)生的壓力蟀瞧。一個場景可能包括多個虛擬用戶沉颂,甚至成千上萬個虛擬用戶。
  • Vuser Script:腳本悦污。用腳本來描述Vuser在場景中執(zhí)行的動作铸屉。
  • Transactions:事務(wù)。事務(wù)代表了用戶的某個業(yè)務(wù)過程切端,需要衡量這些業(yè)務(wù)過程的性能彻坛。
  • rendezvous :集合。當(dāng)我們測試多個用戶并發(fā)時,每個用戶執(zhí)行到該事務(wù)腳本的先后順序是不確定的昌屉,所以得到的測試結(jié)果也并不是一個完全 并發(fā)的極限測試結(jié)果钙蒙。在開始事務(wù)之前 ,插入一個“集合點”间驮,那么在多用戶執(zhí)行時躬厌,就可以將用戶請求停下來,直到用戶數(shù)量達到滿足的條件(默認是100%的用戶都到達集合點)竞帽。那么扛施,所有的用戶都將同時發(fā)出接下來的請求。

Loadrunner的性能測試用例執(zhí)行過程:

st=>start: 制定性能測試計劃
op=>operation: 開發(fā)測試腳本
op1=>operation: 設(shè)計測試場景
op2=>operation: 執(zhí)行屹篓、監(jiān)控測試場景
op3=>operation: 分析測試結(jié)果
op4=>operation: 對系統(tǒng)進行優(yōu)化
op5=>operation: 優(yōu)化后的測試
e=>end:yhua 

st->op->op1(right)->op2(right)->op3->op4->op5(right)->op2

制定性能測試計劃

這部分內(nèi)容已經(jīng)在上一節(jié)進行了講述疙渣。主要實現(xiàn)以下內(nèi)容:

分析應(yīng)用程序、確定測試目標(biāo)抱虐、計劃怎樣執(zhí)行

開發(fā)測試腳本

LoadRunner 使用虛擬用戶的活動來模擬真實用戶來操作Web 應(yīng)用程序昌阿,而虛擬用戶的活動就包含在測試腳本中饥脑,所以說測試腳本對于測試來說是非常重要的恳邀。

開發(fā)測試腳本要使用 VuGen 組件。測試腳本要完成的內(nèi)容有:

  • 每一個虛擬用戶的活動
  • 參數(shù)化
  • 定義事物
  • 定義檢查點

設(shè)計運行場景

運行場景描述在測試活動中發(fā)生的各種事件灶轰。一個運行場景包括一個運行虛擬用戶活動的Load Generator 機器列表谣沸,一個測試腳本的列表以及大量的虛擬用戶和虛擬用戶組。

運行笋颤、監(jiān)視測試

一切配置妥當(dāng)乳附,開始運行測試。在運行過程中伴澄,需要監(jiān)視各個服務(wù)器的運行情況(DataBase Server赋除、Web Server 等)。

分析測試結(jié)果

所有前面的準(zhǔn)備都是為了這一步非凌。我們需要分析大量的圖表举农,生成各種不同的報告,最后會得出結(jié)論敞嗡。

LoadRunner用3個主要功能模塊來覆蓋性能測試的基本流程颁糟。

  • Virtual User Generator

  • Controller

  • Analysis

其中Virtual User Generator使用在創(chuàng)建VU腳本階段,Controller用在定義場景階段和運
行場景階段喉悴,Analysis用在分析結(jié)果階段棱貌。

開發(fā)測試腳本

下面以Loadrunner安裝時附帶的樣例程序Web Tours進行講解。

C:\Program Files (x86)\HP\LoadRunner\WebTours箕肃,選擇StartServer.bat啟動服務(wù)婚脱。

錄制基本的用戶腳本

1、啟動 Visual User Generator 后,選擇新建腳本障贸,因為要測試的是web項目涡贱,所以選擇協(xié)議為Web-HTTP/HTML,點擊創(chuàng)建后惹想,進入主窗體

image.png

2问词、在解決方案資源管理器中可以看到該腳本的組成部分。簡單說明一下:VuGen 中的腳本分為三部分:vuser_init嘀粱、vuser_end 和Action激挪。vuser_init用于用戶初始化,vuser_end用于用戶清理工作锋叨。Action用于具體的需要測試的操作垄分。類似于unittest等測試框架。

舉例說明:
一個測試場景為:用戶登錄系統(tǒng)娃磺,進行搜索操作薄湿,再進行退出系統(tǒng)。
這里偷卧,一般將登陸放置到vuser_init豺瘤,退出放置到vuser_end,搜索放置到Action听诸。

注意:在重復(fù)執(zhí)行測試腳本時坐求,vuser_init 和vuser_end 中的內(nèi)容只會執(zhí)行一次,重復(fù)執(zhí)行的只是Action 中的部分晌梨。

3桥嗤、選擇錄制操作,可以開始一次錄制操作仔蝌,在錄制中需要填寫URL泛领,這里以http://127.0.0.1:1080/WebTours/為例。錄制到操作說明是將腳本放置到哪里敛惊。在錄制中也可以修改腳本放置的地方渊鞋。

開始錄制中,“立即”默認情況下是選中的豆混,說明應(yīng)用程序一旦啟動篓像,VuGen 就會開始錄制腳本;如果沒有選中皿伺,應(yīng)用程序啟動后员辩,VuGen 出現(xiàn)對話框,待確認后才開始錄制鸵鸥。一般默認即可奠滑。

image.png

4丹皱、在以上頁面上有錄制選項可以進行一些高級選項的設(shè)置,這里一般不需要改動宋税。

image.png

Recording 標(biāo)簽頁:

  • 基于HTML的腳本:這種方式錄制的代碼只生成了一個函數(shù)摊崭,所有請求全放在這個函數(shù)里面,即:一個操作(可能包含多個請求)會生成一個函數(shù)杰赛,這種方式看起來比較簡潔

    基于HTML的腳本模式下-->高級選項兩種方式的區(qū)別:

    ? 描述用戶操作的腳本(e.g. web_link,web_submit_form):上下文相關(guān)的呢簸,依賴上下文才能提交,比較符合人們的操作習(xí)慣乏屯。

    ? 僅包含明確URL的腳本(e.g. web_url, web_submit_data):上下文不相關(guān)根时,每個函數(shù)都指定了具體的url地址,可以直接提交成功辰晕,如果只關(guān)注協(xié)議蛤迎,不需要關(guān)注頁面,可使用這種方式錄制含友。

  • 基于URL的腳本:這種方式會生成很多函數(shù)替裆,它將每個請求都單獨成一個函數(shù),這種方式更接近請求-響應(yīng)的本質(zhì)

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

  • 基于瀏覽器的應(yīng)用程序推薦使用HTML-based Script
  • 不是基于瀏覽器的應(yīng)用程序推薦使用 URL-based Script
  • 如果基于瀏覽器的應(yīng)用程序中包含了 JavaScript 并且該腳本向服務(wù)器產(chǎn)生了請求辆童,比如DataGrid 的分頁按鈕等,也要使用URL-based 方式錄制
  • 基于瀏覽器的應(yīng)用程序中使用了 HTTPS 安全協(xié)議南缓,使用URL-based 方式錄制

5胸遇、點擊開始錄制,loadrunner會自動調(diào)用IE汉形,并開始錄制操作。這里以注冊為例進行錄制倍阐,錄制完畢后概疆,點擊停止,錄制停止峰搪,返回到腳本界面岔冀,可以看到已錄制的腳本。

錄制過程中概耻,在屏幕上會有一個工具條出現(xiàn)使套。錄制提供了暫停、停止鞠柄、新增操作侦高,增加事務(wù)、增加集合點等操作厌杜。

image.png

插入事務(wù)

當(dāng)錄制完一個基本的用戶腳本后奉呛,在正式使用前我們還需要完善測試腳本计螺,增強腳本的靈活性。一般情況下瞧壮,我們通過以下方法來完善測試腳本登馒。

事務(wù)(Transaction):為了衡量服務(wù)器的性能,我們需要定義事務(wù)咆槽。比如:我們在腳本中有一個數(shù)據(jù)查詢操作陈轿,為了衡量服務(wù)器執(zhí)行查詢操作的性能,我們把這個操作定義為一個事務(wù)秦忿,這樣在運行測試腳本時济欢,LoadRunner 運行到該事務(wù)的開始點時,LoadRunner 就會開始計時小渊,直到運行到該事務(wù)的結(jié)束點法褥,計時結(jié)束。這個事務(wù)的運行時間在結(jié)果中會有反映酬屉。插入事務(wù)操作可以在錄制過程中進行半等,也可以在錄制結(jié)束后進行。LoadRunner 可以在腳本中插入不限數(shù)量的事務(wù)呐萨。

通過菜單設(shè)計---在腳本中插入---開始事務(wù)杀饵、結(jié)束事務(wù)來進行事務(wù)的添加。

事務(wù)的狀態(tài)默認情況下是 LR_AUTO谬擦。一般情況下切距,我們也不需要修改,除非在手工編寫代碼時惨远,有可能需要手動設(shè)置事務(wù)的狀態(tài)谜悟。可以通過步驟導(dǎo)航器來查看步驟的參數(shù)選項北秽。

以上述注冊為例葡幸,在實際生成的腳本中含有打開首頁、注冊贺氓、退出登錄等多項操作蔚叨。而我們實際需要關(guān)注的是注冊這一個事務(wù)的性能,那么就需要在注冊前后來加入事務(wù)辙培。

lr_start_transaction("register");

    web_submit_form("login.pl_2", 
        "Snapshot=t8.inf", 
        ITEMDATA, 
        "Name=username", "Value=test", ENDITEM, 
        "Name=password", "Value=123456", ENDITEM, 
        "Name=passwordConfirm", "Value=123456", ENDITEM, 
        "Name=firstName", "Value=", ENDITEM, 
        "Name=lastName", "Value=", ENDITEM, 
        "Name=address1", "Value=", ENDITEM, 
        "Name=address2", "Value=", ENDITEM, 
        "Name=register.x", "Value=59", ENDITEM, 
        "Name=register.y", "Value=10", ENDITEM, 
        LAST);

    web_image("button_next.gif", 
        "Src=/WebTours/images/button_next.gif", 
        "Snapshot=t9.inf", 
        LAST);
lr_end_transaction("register", LR_AUTO);

插入集合點

插入集合點是為了衡量在加重負載的情況下服務(wù)器的性能情況蔑水。在測試計劃中,可能會要求系統(tǒng)能夠承受1000 人同時提交數(shù)據(jù)扬蕊,在LoadRunner 中可以通過在提交數(shù)據(jù)操作前面加入集合點搀别,這樣當(dāng)虛擬用戶運行到提交數(shù)據(jù)的集合點時,LoadRunner 就會檢查同時有多少用戶運行到集合點厨相,如果不到1000 人领曼,LoadRunner 就會命令已經(jīng)到集合點的用戶在此等待鸥鹉,當(dāng)在集合點等待的用戶達到1000 人時,LoadRunner 命令1000 人同時去提交數(shù)據(jù)庶骄,從而達到測試計劃中的需求毁渗。

注意:集合點經(jīng)常和事務(wù)結(jié)合起來使用。集合點只能插入到Action 部分单刁,vuser_init和vuser_end 中不能插入集合點灸异。

具體的操作方法如下:在需要插入集合點的前面,通過菜單操作:菜單設(shè)計---在腳本中插入---集合

lr_rendezvous("index");

參數(shù)化輸入

如果用戶在錄制腳本過程中羔飞,填寫提交了一些數(shù)據(jù)肺樟,比如要增加數(shù)據(jù)庫記錄。這些操作都被記錄到了腳本中逻淌。當(dāng)多個虛擬用戶運行腳本時么伯,都會提交相同的記錄,這樣不符合實際的運行情況卡儒,而且有可能引起沖突田柔。為了更加真實的模擬實際環(huán)境,需要各種各樣的輸入骨望。

參數(shù)化輸入是一種不錯的方法硬爆。

用參數(shù)表示用戶的腳本有兩個優(yōu)點:

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

② 可以使用不同的數(shù)值來測試你的腳本擎鸠。例如缀磕,如果你企圖搜索不同名稱的圖書,你僅僅需要寫提交函數(shù)一次劣光。在回放的過程中袜蚕,你可以使用不同的參數(shù)值,而不只搜索一個特定名稱的值赎线。

參數(shù)化包含以下兩項任務(wù):

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

② 設(shè)置參數(shù)的屬性以及數(shù)據(jù)源。

參數(shù)化僅可以用于一個函數(shù)中的參量垂寥。你不能用參數(shù)表示非函數(shù)參數(shù)的字符串。

例如在上面的注冊的例子中另锋,我們已經(jīng)注冊了test用戶滞项,那么再次注冊就會失敗。也就是說Loadrunner腳本再次運行就會失敗夭坪。找到以下的代碼塊文判,在username中選中“test”字符串點擊右鍵選擇“使用參數(shù)替換”,就可以進行參數(shù)設(shè)置室梅。

web_submit_form("login.pl_2", 
        "Snapshot=t8.inf", 
        ITEMDATA, 
        "Name=username", "Value=test", ENDITEM, 
        "Name=password", "Value=123456", ENDITEM, 
        "Name=passwordConfirm", "Value=123456", ENDITEM, 
        "Name=firstName", "Value=", ENDITEM, 
        "Name=lastName", "Value=", ENDITEM, 
        "Name=address1", "Value=", ENDITEM, 
        "Name=address2", "Value=", ENDITEM, 
        "Name=register.x", "Value=59", ENDITEM, 
        "Name=register.y", "Value=10", ENDITEM, 
        LAST);
image.png

下面介紹一下參數(shù)的類型戏仓。

日期/時間:很簡單疚宇,在需要輸入日期/時間的地方,可以用DateTime 類型來替代赏殃。其屬性設(shè)置也很簡單敷待,選擇一種格式即可。當(dāng)然也可以定制格式仁热。

組名:在實際運行中榜揖,LoadRunner使用該虛擬用戶所在的Vuser Group 來代替。但是在VuGen 中運行時抗蠢,Group Name將會是None

Load Generator Name:在實際運行中举哟,LoadRunner 使用該虛擬用戶所在LoadGenerator 的機器名來代替。

迭代編號:在實際運行中迅矛,LoadRunner 使用該測試腳本當(dāng)前循環(huán)的次數(shù)來代替妨猩。

隨機數(shù)字:隨機數(shù)。很簡單秽褒。在屬性設(shè)置中可以設(shè)置產(chǎn)生隨機數(shù)的范圍

唯一編號:唯一的數(shù)壶硅。在屬性設(shè)置中可以設(shè)置第一個數(shù)以及遞增的數(shù)的大小(每個Vuser的塊大姓鸺怠)森瘪。

注意:使用該參數(shù)類型必須注意可以接受的最大數(shù)。例如:某個文本框能接受的最大數(shù)為99票堵。當(dāng)使用該參數(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;依次類推吗货。

Vuser ID:設(shè)置比較簡單泳唠。在實際運行中,LoadRunner 使用該虛擬用戶的ID 來代替宙搬,該ID 是由Controller 來控制的笨腥。但是在VuGen 中運行時拓哺,Vuser ID 將會是–1。

File:需要在屬性設(shè)置中編輯文件脖母,添加內(nèi)容

用戶定義的函數(shù):從用戶開發(fā)的dll 文件提取數(shù)據(jù)士鸥。

在上面的例子中,我們?nèi)‰S機數(shù)就可以了镶奉。選擇隨機數(shù)后础淤,點擊“屬性… ..”按鈕,進行屬性設(shè)置窗口

image.png

添入隨機數(shù)的取值范圍為(1-50)哨苛,選擇一種數(shù)據(jù)格式鸽凶。在更新值的時間中有以下幾個選項:

  • Each Occurrence:在運行時,每遇到一次該參數(shù)建峭,便會取一個新的值
  • Each iteration:運行時玻侥,在每一次循環(huán)中都取相同的值
  • Once:運行時,在每次循環(huán)中亿蒸,該參數(shù)只取一次值

這里我們用的是隨機數(shù)凑兰,選擇默認的Each Occurrence 就非常合適。

File等類型中有以下參數(shù):
“選擇下一行 ”有以下幾種選擇:
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 運行過程中會返回一個錯誤斥铺。

為了避免不正確的參數(shù)導(dǎo)致不可用彻桃,在設(shè)置后,可以選擇“模擬參數(shù)”來試運行

插入函數(shù)

VuGen 中可以使用C 語言中比較標(biāo)準(zhǔn)的函數(shù)和數(shù)據(jù)類型晾蜘,語法和C 語言相同邻眷。下面簡單介紹一下比較常用的函數(shù)和數(shù)據(jù)類型。

在腳本頁面剔交,通過右鍵-插入-新建步驟可以查看函數(shù)列表

  1. 控制腳本流程
if { } else { }
for{ }
while{ }

……………
總之 C 語言的控制流程的語句這里都可以直接使用

  1. 字符串函數(shù)

由于在 VuGen 腳本中使用最多的還是字符串耗溜,所以字符串函數(shù)在腳本中使用非常頻繁。具體的語法請參考幫助說明省容。

strcmp 比較兩個字符串
strcat 連接兩個字符串
strcpy 拷貝字符串

……………..
注意:在VuGen 中,以char聲明的字符串是只讀的燎字,如果試圖給char類型的字符串賦值的話腥椒,編譯會通過阿宅,但在運行時會產(chǎn)生“Access Violation”的錯誤。解決這類問題笼蛛,就是把字符串聲明為字符數(shù)組洒放,比如char[100]。

  1. 輸出函數(shù)

輸出函數(shù)在調(diào)試腳本時非常有用滨砍。

lr_output_message 輸出一條消息
  1. LoadRunner 提供的標(biāo)準(zhǔn)函數(shù)
lr_eval_string 該函數(shù)功能是得到參數(shù)(參數(shù)化輸入中)當(dāng)前的值
exg: lr_output_message("temp = %s", lr_eval_string("{WCSParam2}"));
lr_save_string 該函數(shù)功能是把一個字符串保存到參數(shù)中
exg: lr_save_string("439","WCSParam3");
web_reg_save_param("BODY",
        "LB=\"MESSAGE\":{\"",
        "RB=\":",
        LAST);


if(strcmp(lr_eval_string("{BODY}"),"msginfo")==0)
{
    lr_end_transaction("柜員登陸",LR_PASS);
     }
    else
     {
        lr_output_message("BODY=[%s]",lr_eval_string("{BODY}"));
         lr_end_transaction("柜員登陸",LR_FAIL);          

插入檢查點

在進行壓力測試時往湿,為了檢查Web 服務(wù)器返回的網(wǎng)頁是否正確,VuGen 允許我們插入Text 檢查點惋戏,這些檢查點驗證網(wǎng)頁上是否存在指定的Text领追,還可以測試在比較大的壓力測試環(huán)境中,被測的網(wǎng)站功能是否保持正確响逢。檢查點的含義和unittest中的斷言功能基本上一致绒窑。

通過菜單---查看---快照,可以查看到http數(shù)據(jù)視圖舔亭,選擇檢查的文本些膨,選擇添加文本檢查步驟,即可添加一個檢查點钦铺。

web_reg_find("Text=Thank you, <b>test</b>, for registering and welcome to the Web Tours family.",LAST);
image.png

此時選擇“回放”订雾,可以看到錯誤提示:

image.png

這是因為username我們已經(jīng)做了參數(shù)化,在注冊成功后的歡迎頁面矛洞,已經(jīng)不是test了洼哎。我們做如下改造:

web_reg_find("Text=Thank you, <b>{username}</b>, for registering and welcome to the Web Tours family.",LAST);
再回放一下試試,失敗還是成功缚甩?為什么谱净?想一想?yún)?shù)中有什么需要修改的?

關(guān)聯(lián)

很多時候擅威,一個項目的請求所以帶的參數(shù)會來源于前面請求返回的結(jié)果壕探,而我們錄制的內(nèi)容,則只是完整地記錄當(dāng)時的請求參數(shù)郊丛,這通常不是我們想要的李请。

例如上面的例子中的檢查點文本中的test。就是根據(jù)輸出來顯示的厉熟,我們可以獲取該值來供后續(xù)使用导盅。

在上圖中,選擇test揍瑟,通過創(chuàng)建關(guān)聯(lián)白翻,可以創(chuàng)建一個關(guān)聯(lián),創(chuàng)建完畢后如下圖:

web_reg_save_param_ex(
        "ParamName=CorrelationParameter",
        "LB=you, <b>",
        "RB=<",
        SEARCH_FILTERS,
        "Scope=Body",
        LAST);  
//添加輸出,進行驗證 
lr_output_message("BODY=[%s]", lr_eval_string("{CorrelationParameter}"));

運行時設(shè)置

當(dāng)完善了測試腳本后滤馍,需要對VuGen 的“運行時設(shè)置” 進行配置岛琼。

在“解決方案資源管理器”視圖中選擇“運行時設(shè)置”,常用的設(shè)置內(nèi)容如下:

1巢株、常規(guī)-其他-錯誤處理:

一般不需要改動槐瑞,但是在Controller運行時,可以設(shè)置“出現(xiàn)錯誤時仍繼續(xù)”阁苞,來統(tǒng)計錯誤率

2困檩、常規(guī)-其他-自動事務(wù)

當(dāng)我們手工設(shè)置了事務(wù)時,建議取消該項那槽,以免Controller運行時事務(wù)太多

3悼沿、常規(guī)-運行邏輯-迭代數(shù)

根據(jù)需要變動,一般在調(diào)試腳本時可以設(shè)置為多次迭代

4倦炒、常規(guī)-日志

在調(diào)試階段可勾選“啟動日志記錄”显沈,腳本穩(wěn)定時可取消該項

5、常規(guī)-思考時間

忽略時會對服務(wù)器造成更大的壓力逢唤,而增加思考時間可以更好的模擬用戶使用

6拉讯、internet協(xié)議-首選項-啟用圖像或文本檢查

不勾選“啟用圖像或文本檢查”,web_find和web_image_check設(shè)置的檢查點在運行時無效

7鳖藕、工具-選項-腳本-回放

如果勾選“回放期間顯示運行時查看器”魔慷,則在運行時會啟動瀏覽器

單機運行測試腳本

經(jīng)過以上的各個步驟后,腳本就可以運行了著恩。運行腳本可以通過菜單或者工具欄來操作院尔。

執(zhí)行“運行”命令后,VuGen 先編譯腳本喉誊,檢查是否有語法等錯誤邀摆。如果有錯誤,VuGen將會提示錯誤伍茄。雙擊錯誤提示栋盹,VuGen 能夠定位到出現(xiàn)錯誤的那一行。為了驗證腳本的正確性敷矫,我們還可以調(diào)試腳本例获,比如在腳本中加斷點等。

如果編譯通過曹仗,就會開始運行榨汤。然后會出現(xiàn)運行結(jié)果。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末怎茫,一起剝皮案震驚了整個濱河市收壕,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖啼器,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件旬渠,死亡現(xiàn)場離奇詭異,居然都是意外死亡端壳,警方通過查閱死者的電腦和手機讥耗,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進店門惭每,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人找颓,你說我怎么就攤上這事岳颇≌占瘢” “怎么了?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵话侧,是天一觀的道長栗精。 經(jīng)常有香客問我,道長瞻鹏,這世上最難降的妖魔是什么悲立? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮新博,結(jié)果婚禮上薪夕,老公的妹妹穿的比我還像新娘。我一直安慰自己赫悄,他們只是感情好原献,可當(dāng)我...
    茶點故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著埂淮,像睡著了一般姑隅。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上倔撞,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天讲仰,我揣著相機與錄音,去河邊找鬼误窖。 笑死叮盘,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的霹俺。 我是一名探鬼主播柔吼,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼丙唧!你這毒婦竟也來了愈魏?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎培漏,沒想到半個月后溪厘,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡牌柄,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年畸悬,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片珊佣。...
    茶點故事閱讀 39,690評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡蹋宦,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出咒锻,到底是詐尸還是另有隱情冷冗,我是刑警寧澤,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布惑艇,位于F島的核電站蒿辙,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏滨巴。R本人自食惡果不足惜思灌,卻給世界環(huán)境...
    茶點故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望兢卵。 院中可真熱鬧习瑰,春花似錦、人聲如沸秽荤。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽窃款。三九已至课兄,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間晨继,已是汗流浹背烟阐。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留紊扬,地道東北人蜒茄。 一個月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像餐屎,于是被迫代替她去往敵國和親檀葛。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,577評論 2 353