|
- '@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")="C:\Program Files\HP\QuickTest Professional\bin\ContextManager.dll"
- ' 使用Reporter对象的LogEvent写入新节点
- intContext=Reporter.LogEvent( "User", dicMetaDescription, Reporter.GetContext)
- ' 调用Reporter对象的SetContext把新定的节点作为父节点
- Reporter.SetContext intContext
- End Function
- '@Description 退出当前日志节点(与EnterNode配对使用)
- Public Function ExitNode
- ' 调用Reporter对象的UnSetContext,返回上一层
- Reporter.UnSetContext
- End Function
复制代码
在VB中将以上2个方法生成了DLL,同时也按[url=http://www.51testing.com/html/89/n-96989.html;http://www.51testing.com/html/95/n-96995.html]http://www.51testing.com/html/89/n-96989.html;http://www.51testing.com/html/95/n-96995.html[/url],操作
注册成功,在QTP中也能看到这两个方法,但是在运行时失败,提示:需要对象。
调用的语句为- MyObject.EnterNode"父节点","Hello"
- Reporter.ReportEvent micPass,"Step1","Step1 Pass!"
- Reporter.ReportEvent micWarning,"Step2","Step2Pass With Warnning!"
- Reporter.ReportEvent micFail,"Step3","Step3Fail!"
- MyObject.ExitNode
- MyObject.EnterNode"另一个节点","Hi"
- Reporter.ReportEvent micPass,"Step4","Step4 Pass!"
- Reporter.ReportEvent micPass,"Step5","Step5 Pass!"
- MyObject.ExitNode
- Reporter.ReportEvent micPass,"Case3","Case3 Pass!"
复制代码 |
|