• <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中運行錯誤的捕捉和記錄

    發表于:2013-04-12來源:Csdn作者:xuyubotest點擊數: 標簽:qtp
    本文提供一種QTP運行錯誤的捕捉和記錄方法 結合QTP本身的場景恢復機制,可以很好的解決該問題 首先在恢復場景中定義場景恢復策略

      本文提供一種QTP運行錯誤的捕捉和記錄方法

      結合QTP本身的場景恢復機制,可以很好的解決該問題

      首先在恢復場景中定義場景恢復策略

      選擇需要捕捉的錯誤種類

      定義捕捉錯誤后的處理,此處定義一個異常處理函數

      函數定義如下:

      '----------------------------------------------------------------

      '函數功能:對象錯誤記錄

      '修改說明: ADD BY

      '----------------------------------------------------------------

      ‘ 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

    原文轉自:http://blog.csdn.net/xuyubotest/article/details/5211591

    老湿亚洲永久精品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>