QTP場景恢復的實踐和總結

 自動化測試的優點在於快速、可靠、可重複、可重用、無疲勞,是對繁重的手工測試的一次解放,適用於迴歸測試。自動化還有一個特點是無人值守,測試人員要做的是通過看

  REPORT

  ER來判斷系統是否存在缺陷。當然,腳本執行的過程中或多或少會出現ERROR,由於無人值守的特點,接下來的腳本就會不能運行,這也是爲什麼在自動化腳本中彈出框要用POP函數的原因。QTP提供的場景恢復可以解決這個問題,我將自己學習實踐的過程與大家分享,有不合適的地方請大家指正。

   場景恢復可以看做一種嵌入式機制,是QTP腳本的一個可安裝可拆卸零部件,這個零部件的作用就是在機器出現的問題的時候根據我們的指示執行指定的命令, 記錄案發現場,等腳本跑完的時候遞出報告,供我們分析。我們來看看怎麼製造這個零件,我分享一個出錯時調用函數截圖的場景恢復。我使用的版本是 QTP10.00

  一、設置

  1、新建Recovery Scenario

  首先我們打開Resouces--Recovery Scenario Manager窗口。

  點擊新建場景恢復圖標,開始新建一個Recovery Scenario。

  2、選擇觸發方式

  場景恢復機制提供了四種類型的觸發事件,分別用來識別:彈出對話框、對象的特殊屬性值、運行錯誤、應用程序失敗。我這裏選擇Test run error觸發方式。

  Error選擇Any error,這樣出現任何錯誤都能觸發恢復場景。

  3、設置恢復時操作,這裏我們選擇調用函數。

  點擊下一步,選擇編輯好的函數,我的恢復操作函數如下,函數的作用是將出錯頁面截屏打印到REPORTER。

Function RecoveryFunction1(Object, Method, Arguments, retVal)
Dim datestamp,filename,ResPath
ResPath = Environment("ResultDir")
datestamp = Now()
filename = Environment("TestName")&"_"&datestamp&".png"
filename = Replace(filename,"/","")
filename = Replace(filename,":","")
filename = ResPath + "\" + ""&filename
Desktop.CaptureBitmap filename,True
Reporter.ReportEvent micFail,"場景恢復","報錯截屏",filename
End Function

  點擊下一步,將add another recovery operations選項取消。

  4、設置腳本恢復運行時的操作,這裏處理下一個Action或者組件中的下一個迭代。

  到這裏,這個調用函數的場景恢復設置就基本完成了,下一步是給場景恢復取名並保存。

  可以選擇將新建的場景恢復添加到當前的TEST或者將其視爲默認設置。

  5、關聯場景恢復文件

  在file>setting>recovery選項中,可以選擇添加或者刪除場景設置,就跟resources中國添加關聯函數是一個道理。

  在test setting裏可以看到我們新建的場景設置已經與當前TEST關聯。

  二、運行

  批量運行腳本實驗場景恢復的作用。

  在前面的腳本執行出錯時不影響下一個腳本的執行,也即是場景恢復起到了作用,如果沒有這個設置,我們批量運行腳本時就會中斷在出錯的位置,沒有起到自動化應有的作用。我們來看一下運行的報告。

  SKIP ITERATION,我們設置的恢復操作,執行下一個迭代。

  這個是出錯的截屏,這裏我將密碼設置錯誤觸發了場景恢復。

  謝謝大家,有不正確的請指正。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章