QTP3种错误处理机制
QTP 擁有3種不同的錯誤處理機制:
1、場景恢復機制
2、VBS的Error 對象
3、缺省的錯誤處理【Settings 里的runonError選項所指定的設置】
它們的優先級分別是:
1、場景恢復機制的觸發及處理
2、VBS 的error對象的捕獲
3、場景恢復機制的處理后行為【即場景得到恢復后腳本的繼續執行操作,不明白的去創建一個恢復場景就知道了】
4、缺省的錯誤處理
它們的作用范圍:
1、場景恢復是全局的。但是只針對指定的場景錯誤,而不是所有的腳本錯誤都會觸發它【如:語法、函數錯誤】
2、VBS是局部范圍有效。即對當前Action、當前Function有效,對Lib及其它Action無效
3、缺省錯誤處理是全局的。所有范圍內的所有錯誤都會被捕獲【包括語法錯誤】
它們的具體應用:
1、場景恢復:
其所支持的幾種觸發場景:
· Item in list or menu is not unique
· Item in list or menu not found
· More than one object responds to the physical description
· Object is disable
· Object not found
· Object not visible
. Any Error
其所支持的幾種處理方式:
· Keyboard or mouse operation ''鍵盤鼠標處理方式
· Close application process ’‘執行關閉指定進程
· Function call ’‘調用預制的函數
· Restart Microsoft Windows ’‘重啟機器
其所支持的錯誤處理后的腳本繼續執行方式:
. Repeat current step and continue:重復當前步驟然后繼續向下
. Proceed to next step:處理下一步
. Proceed to next action or component iteration:處理下一個Action,或者組件的下一個循環
. Proceed to next test iteration:處理該測試的下一個循環
. Restart current test run:重新啟動當前的測試
. Stop the test run:終止測試運行
其所支持的應用場景的方式:
. On every step,只要出現恢復的場景,就執行場景恢復中的動作,然后繼續。
. On error,在出現錯誤的時候,才查找是否符合待恢復的場景,如果是則執行恢復操作。
. Never,無論如何,都不運行場景恢復機制。
2、VBS 的Error 對象使用:
Err對象語句:
On Error Resume Next ''執行過該語句后,在遇到錯誤時將忽略并繼續執行其后的語句
On Error GoTo 0 ‘’執行過該語句后相對于取消On Error Resume Next語句的設置,它會釋放之前的錯誤給上層錯誤機制
Err對象的屬性:
Err.Number ‘’執行腳本后的錯誤代碼,為0時表示沒有錯誤
Err.Description ‘’具體錯誤代碼的錯誤描述
Err.Source ‘’引發該錯誤的應用程序
Err.HelpContext ‘’與該錯誤有關的上下文內容
Err.HelpFile ‘’與該錯誤相關的幫助文檔的路徑
Err對象的方法:
Err.Clear ‘’清空錯誤代碼,即置0
Err.raise number, source, description, helpfile, helpcontext ‘’釋放一個自定義的錯誤,其中number為必選
3、缺省錯誤處理的4種方式:
. ShowDialog ''彈框
. NextIteration ‘’執行下一個迭代
. Stop ‘’結束當前測試
. NextStep(default) ‘’執行下一步
轉載于:https://blog.51cto.com/494981/1314369
總結
以上是生活随笔為你收集整理的QTP3种错误处理机制的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Lua 语言 快速入门
- 下一篇: C++ new delete(二