• <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之Reporter對象(2)

    發表于:2011-12-15來源:未知作者:娃娃點擊數: 標簽:qtp
    @Description 指定把日志寫入節點下 Public Function EnterNode(ByRef NodeName, ByRef NodeContent) 用一個Dictionary對象來存儲節點的信息 Set dicMetaDescription = CreateObject(Scripti

      '@Description 指定把日志寫入節點下

      Public Function EnterNode(ByRef NodeName, ByRef NodeContent)

      ' 用一個Dictionary對象來存儲節點的信息

      Set dicMetaDescription = CreateObject("Scripting.Dictionary")

      ' 設置節點的狀態

      dicMetaDescription("Status") = MicDone

      ' 設置節點的名稱

      dicMetaDescription("PlainTextNodeName") = NodeName

      ' 設置節點的詳細描述信息(可以使用HTML格式)

      dicMetaDescription("StepHtmlInfo") = NodeContent

      ' 設置節點的圖標

      dicMetaDescription("DllIconIndex") = 210

      dicMetaDescription("DllIconSelIndex") = 210

      ' 節點圖標從ContextManager.dll這個DLL文件中讀取

      dicMetaDescription("DllPAth") = "D:\Program Files\HP\QuickTest Professional\bin\ContextManager.dll"

      ' 使用Reporter對象的LogEvent寫入新節點

      intContext = Reporter.LogEvent("User", dicMetaDescription, Reporter.GetContext)

      ' 調用Reporter對象的SetContext把新寫入的節點作為父節點

      Reporter.SetContext intContext

      End Function

      (2)然后再定義一個與“EnterNode”相應的函數“ExitNode”,如圖5所示:

      圖5 定義函數ExitNode

      ExitNode函數用于退出當前日志節點,需要與EnterNode配對使用,函數的腳本如下所示:

      '@Description 退出當前日志節點(與EnterNode配對使用)

      Public Function ExitNode

      '調用Reporter對象的UnSetContext,返回上一層

      Reporter.UnSetContext

      End Function

      (3)有了EnterNode和ExitNode函數后,我們就可以像下面的例子一樣使用EnterNode和ExitNode,實現日志記錄的結構化、層次化寫入:

      ' 進入節點

      EnterNode "父節點","

    這是一個擁有孩子的節點

    Hello! How are you!.
    "

     

      ' 在節點內寫Log

      Reporter.ReportEvent MicPass, "Step1", "Step1 Pass!"

      Reporter.ReportEvent MicWarnning, "Step2", "Step2 Pass With Warnning!"

      Reporter.ReportEvent MicFail, "Step2", "Step2 Fail!"

      ' 退出節點

      ExitNode

      ' 在節點之外寫Log

      Reporter.ReportEvent MicPass, "Case2", "Case2 Pass!"

      該腳本首先調用EnterNode,創建一個"父節點",并自動進入該節點的層次下,然后使用普通的ReportEvent方法寫日志,當需要退出該"父節點"時,就調用一下ExitNode,則后續的日志都在該節點之外寫。

      小結

      本文介紹了Reporter對象的幾個鮮為人知的方法,利用LogEvent、SetContext、UnSetContext這幾個方法,可以實現日志的結構化、層次化寫入,讓你的QTP測試報告看起來更加有條理、分類清晰。

      不知道為什么QTP的幫助文檔中沒有列出這幾個有用的方法,但是不管怎樣,在我們揭開了Reporter對象的這些隱藏的方法后,我們就可以充分利用它們為我們服務,讓我們的自動化測試腳本更加強大。

    原文轉自:http://www.kjueaiud.com

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