• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    軟件測試工具QTP中運行錯誤的捕捉和記錄

    發布: 2010-2-01 14:00 | 作者: 網絡轉載 | 來源: 領測軟件測試 | 查看: 124次 | 進入軟件測試論壇討論

    領測軟件測試網

    軟件測試工具QTP中運行錯誤的捕捉和記錄  

    在自動化程序的運行過程中,經常因為環境問題或者代碼本身不完善而出現流程不能順利進行下去的情況,或者會有一些“隨機”的提示框(如“操作太快,頁面不能及時處理”),這時QTP會產生錯誤提示,對于這些提示,完全忽略不可取,最好的是及時記錄當前錯誤內容,重復當前操作,當錯誤提示累計到一定數量,中止當前流程。

      本文提供一種QTP運行錯誤的捕捉和記錄方法,結合QTP本身的場景恢復機制,可以很好的解決該問題。

      首先在恢復場景中定義場景恢復策略,選擇需要捕捉的錯誤種類,定義捕捉錯誤后的處理,此處定義一個異常處理函數。

      函數定義如下:


    ‘ Object-出錯對象;Method-對象當前的方法;Argu-對象當前方法的參數;retval-當前錯誤的返回值(errCode)
    Function RecordErr(Object, Method, Arguments, retVal)
           wait 3
           Dim ErrCode,ErrDesc,ArgCount,WrongInfo,ArgList
           Dim i,blankStr,ErrCount,CurRow
          
           ‘ 在Globaltable中記錄累計錯誤數
           CurRow = DataTable.GlobalSheet.GetcurrentRow
           DataTable.GlobalSheet.SetcurrentRow 1  
       
        If Environment ("ActionName")<> datatable.Value("CurAction",dtGlobalSheet) Then
                  datatable.Value("CurAction",dtGlobalSheet) = Environment ("ActionName")
                  datatable.Value("ErrCount",dtGlobalSheet) = 0
           End If
       
           ErrCount = CInt (datatable.Value("ErrCount",dtGlobalSheet))
           blankStr = "                                  "
       
           ErrCode = retVal
           If ErrCode = 0 Then
                  ErrDesc = "不明錯誤!"
           Else
                  ErrDesc = DescribeResult(ErrCode)
           End If
     
           ArgCount = UBound(Arguments)
           For i = 0 to ArgCount
            ArgList = ArgList & CStr(i) & "--" & CStr(Arguments(i)) & "/"
           Next
          
           On Error Resume Next
           ‘ 獲取對象錯誤具體描述,此處使用了對象較通用的name屬性,部分對象沒有該屬性可能出錯
           WrongInfo = "Object Name: " & Object.GetTOProperty("name") & vbCrLf _
                       & blankStr & "Current Method: " & Method & vbCrLf _
                       & blankStr & "ArgList: " & ArgList & vbCrLf _
                       & blankStr & "ErrDesc: " & ErrDesc
     
           On Error GoTo 0   
        GE_logError "對象運行中出現錯誤--" & WrongInfo,micFail   
       
        Err.Clear
       
    ErrCount = ErrCount + 1
     
        ‘ 累計錯誤達5次后退出當前流程
        If ErrCount >= 5 Then
                  ErrCount = 0
                  datatable.Value("ErrCount",dtGlobalSheet) = ErrCount
                  DataTable.GlobalSheet.SetcurrentRow CurRow
                  routingname = ""
                  GE_logError "*****運行過程錯誤過多,退出本Aciton Iteration,請運行完成后檢查環境和腳本!*****",micFail
                  ExitActionIteration
           End If
     
           datatable.Value("ErrCount",dtGlobalSheet) = ErrCount
           DataTable.GlobalSheet.SetcurrentRow CurRow
          
    End Function

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    TAG: qtp QTP 工具 記錄 軟件測試 運行


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>