十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
調(diào)試查看器
當(dāng)測試腳本運(yùn)行過程中在運(yùn)行至斷點(diǎn)處停止,或者當(dāng)一個(gè)操作步驟執(zhí)行失敗時(shí),可以通過選擇“調(diào)試”選項(xiàng)來調(diào)試腳本。選擇菜單欄中【View】—【Debug Viewer】調(diào)用調(diào)試查看器,通過調(diào)試查看器查看、設(shè)置或修改測試或組件中的對象及變量的值(值只限于當(dāng)前調(diào)試過程中有效)。
查看(Watch)選項(xiàng)卡
使用“查看”選項(xiàng)卡,可查看已在查看列表中輸入的任何變量或 VBScript 對象的當(dāng)前值。“查看”選項(xiàng)卡下,將對象或變量輸入到“Name”列中,按回車鍵來查看“Value”列中的當(dāng)前值。如果對象或變量的值在腳本后續(xù)運(yùn)行時(shí)發(fā)生了變化,則“查看”選項(xiàng)卡中的值會一并變化。當(dāng)測試腳本在斷點(diǎn)暫停時(shí),還可以手動設(shè)置更改變量的值。
變量(Variables)選項(xiàng)卡
使用“變量”選項(xiàng)卡可查看腳本中所有變量的當(dāng)前值。
命令(Command)選項(xiàng)卡
通過“命令”選項(xiàng)卡,可執(zhí)行一行腳本,進(jìn)行查看、設(shè)置或修改測試腳本中變量或 VBScript 對象的當(dāng)前值。
以場景1創(chuàng)建簡單的測試腳本,學(xué)習(xí)調(diào)試查看器的使用方法。
1. 錄制測試場景1,并將測試腳本保存為單步調(diào)試(Flight)。
2. 如圖所示,在場景1測試腳本的關(guān)鍵字視圖中,新建一操作行,其中Item列,通過下拉設(shè)定為Statement(聲明),Value列設(shè)置為Dim UserName。再新建一操作行,其中Item列,通過下拉設(shè)定為Statement(聲明),Value列設(shè)置為UserName = "mercury"。然后將新建的兩行操作,拖拽到操作前最前面。
3. 如圖所示,在關(guān)鍵視圖中的第4行(AgentName),將當(dāng)前操作步驟設(shè)定為斷點(diǎn)。
4. 如圖所示,運(yùn)行測試腳本,測試腳本運(yùn)行至斷點(diǎn)暫停,菜單欄中選擇【View】—【Debug Viewer】,打開調(diào)試查看器。
5. 如圖所示,點(diǎn)擊調(diào)試查看器中的Watch選項(xiàng)卡,并在Name一列鍵入username(第1步中定義的變量名),同時(shí)按下回車鍵,可觀察到username的值變?yōu)榱薽ercury。
6. 如圖所示,修改username的值,使其變?yōu)镸ER。按F11運(yùn)行單步執(zhí)行,可觀察到被測應(yīng)用程序(Flight登錄框)中,被測對象Agent Name對象輸入的值也相應(yīng)的變?yōu)镸ER。
7. 如圖所示,停止測試腳本運(yùn)行,刪除查看(Watch)選線卡中的變量。然后再次回放測試腳本(測試腳本仍在斷點(diǎn)出停止),點(diǎn)擊“Variables”選項(xiàng)卡,可以看到“Variables”中取到了username變量的值。
8. 如圖所示,第6步腳本回放過程運(yùn)行在斷點(diǎn)處停止后,點(diǎn)擊“Command”選項(xiàng)卡,在命令選項(xiàng)卡內(nèi)輸入username = “MER”,并按下回車。按F11運(yùn)行單步執(zhí)行,觀察到被測應(yīng)用程序(Flight登錄框)中,被測對象Agent Name對象輸入的值也相應(yīng)的變?yōu)镸ER。結(jié)果與在查看(Watch)選項(xiàng)卡一樣。
錯(cuò)誤信息
如圖所示,在開展自動化測試過程中,QuickTest調(diào)試\運(yùn)行測試腳本過程中經(jīng)常遇到彈出錯(cuò)誤信息的對話框,通過彈出的錯(cuò)誤信息對話框,可以獲得哪些信息呢?那又該對測試腳本執(zhí)行哪些維護(hù)呢?
1. 停止(stop)— 停止運(yùn)行測試腳本。
如果 QuickTest 配置為在運(yùn)行后顯示測試結(jié)果,在測試腳本停止運(yùn)行后將顯示測試結(jié)果信息。
2. 重試(Retry)— 嘗試再次執(zhí)行當(dāng)前操作步驟。
如果QuickTest對某操作步驟重新運(yùn)行后,運(yùn)行通過,則后續(xù)操作步驟將繼續(xù)執(zhí)行。
3. 跳過(Skip)— 跳過引發(fā)錯(cuò)誤的操作步驟。
QuickTest跳過引發(fā)錯(cuò)誤的步驟,然后從下一操作步驟繼續(xù)運(yùn)行。
4. 調(diào)試(Debug)— 暫停腳本,對測試腳本進(jìn)行調(diào)試。
暫停測試腳本運(yùn)行,點(diǎn)擊Debug進(jìn)入調(diào)試模式,對測試腳本進(jìn)行調(diào)試。在調(diào)試模式下可執(zhí)行單步調(diào)試、單步執(zhí)行等任何調(diào)試操作。在調(diào)試結(jié)束之后,可從測試腳本停止的那一步開始繼續(xù)運(yùn)行會話,也可以使用單步執(zhí)行命令來控制測試腳本的其余部分。
5. 幫助(Help)— 打開幫助文檔
對于顯示的錯(cuò)誤消息,打開 QuickTest相關(guān)的問題幫助。
發(fā)送測試報(bào)告
前面提到當(dāng)某個(gè)測試對象不存在時(shí),可以使用條件語句控制測試流程,讓腳本停止運(yùn)行。如果腳本停止運(yùn)行后,如何在測試結(jié)果中確定是由于那個(gè)對象的不存在而停止腳本運(yùn)行的呢?可以將測試腳本停止運(yùn)行的原因,寫入測試結(jié)果中,在測試結(jié)果中查看腳本運(yùn)行失敗的原因,能夠?yàn)楹罄m(xù)腳本的維護(hù)提供幫助。而此項(xiàng)技術(shù)稱為發(fā)送報(bào)告(Report)。測試報(bào)告將大大提高確定問題解決問題的效率。
通過關(guān)鍵字視圖或?qū)<乙晥D中都可設(shè)置測試報(bào)告(Report)的發(fā)送。本章在關(guān)鍵字視圖中,以場景1錄制的測試腳本為例講解消息發(fā)送(測試腳本存放于本章腳本目錄下——發(fā)送消息(Flight))。
1. 錄制場景1并保存,將場景1測試腳本命名為發(fā)送消息(Flight)。
2. 如圖所示,在場景1(發(fā)送消息(Flight)腳本)測試腳本關(guān)鍵字視圖中,點(diǎn)擊【Insert】—【Conditional Statement】或右鍵選擇【Insert Step】—【Conditional Statement】IF…..Then條件語句,并將Agent Name作為條件。
IF條件操作所在操作行,Item列下拉列表中選擇Agent Name對象,Operation列設(shè)置為Exist,Value列設(shè)置為1(測試腳本中檢測Agent Name是否存在,檢測時(shí)間為1秒)。
3. 如圖所示,在關(guān)鍵字視圖中,右擊第1步插入的IF操作行,點(diǎn)擊【Insert】—【Conditional Statement】或右鍵選擇【Insert Step】—【Conditional Statement】選擇Else。
4. 如圖所示,關(guān)鍵字視圖中插入使用步驟生成器插入報(bào)告(Report)。步驟生成器對話框中,將報(bào)告操作(Operation)選擇為ReportEvent,狀態(tài)(EventStatus)選擇為micFail。
5. 如圖所示,拖拽添加報(bào)告操作行至Else操作行下。
6. 如圖所示,進(jìn)入對象庫,將Agent Name對象的attached text屬性值由Agent Name修改為Name(修改后腳本回放將失?。?。運(yùn)行測試腳本,可在測試結(jié)果中觀察到失敗的原因。
消息(Report)的狀態(tài)列表除了micFail,還有其他狀態(tài)。如下表所示。
消息(Report)的狀態(tài)表
狀態(tài) | 描述 |
通過(micPass) | 該步驟通過后,將設(shè)定消息發(fā)送到測試報(bào)告中。 |
失?。╩icFail) | 該步驟執(zhí)行失敗后,將設(shè)定消息發(fā)送到測試報(bào)告中。 |
完成(micDone) | 將設(shè)定消息發(fā)送到測試報(bào)告中,而不影響步驟的通過/失敗狀態(tài)。 |
警告(micWarining) | 發(fā)送步驟的警告狀態(tài),但不會導(dǎo)致測試腳本停止運(yùn)行。 |