QTP Reporter 对象封装.doc
上传人:sy****28 上传时间:2024-09-14 格式:DOC 页数:4 大小:99KB 金币:16 举报 版权申诉
预览加载中,请您耐心等待几秒...

QTP Reporter 对象封装.doc

QTPReporter对象封装.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

16 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

最近一直在研究QTP的Reporter对象,自己也写了一个reporter的封装类,当然网上有现成的,我也参考了其中一些东西,但是自己写下来一遍还是有很多收获的。不多说了,谈谈收获。1.LogEventReporter.LogEvent("User",syDictionary,Reporter.GetContext())这句话的作用是在report里生成一个新的节点我在网上看到很多现成的代码里都有用到上面这句话,起初不是很在意第一个参数"User",以为是一个类似于report里标题之类的东西,然后我就随便改了一个标题。但是出问题了,改变之后我甚至不能在report里找到新生成的节点!不信你们可以自己试试。经过研究Results.xml这个文件,发现原因:"User"这个参数其实定义的是我们加入Results.xml文件中节点eType类型。所以这个参数的值是不能随便乱改的。还有些其他的属性,之后有时间了我再细致地去研究一下。2.定义属于你自己的隐藏对象为了在写QTP脚本的时候方便,读者可以自行定义一些隐藏对象,例如Dictionary对象,文件读写FSO对象,Excel对象等,好处是可以有一定的代码提示。具体的方法是在注册表里进行增加。举个Excel的例子先打开注册表:HKEY_CURRENT_USER\Software\MercuryInteractive\QuickTestProfessional\MicTest\ReservedObjects添加一个项Excel然后如图加入必要的值,如图具体做法也可以参考HYPERLINK"http://blog.csdn.net/hyholine/article/details/7255951"http://blog.csdn.net/hyholine/article/details/72559513.以下是代码:'OptionExplicitClassReportDimimgname'图片名称Dimpass_count'记录Pass的个数Dimfail_count'记录Fail的个数Dimwarning_count'记录Warning的个数Dimdone_count'记录Done的个数Dimresult'记录结果Dimtitle'节点标题Dimdesc'节点详细信息DimcurNodeID,childNodeIDPublicSubPass(title,desc)pass_count=pass_count+1title=title&"PASS"CallLogResult(micPass,title,desc)EndSubPublicSubFail(title,desc)fail_count=fail_count+1title=title&"FAIL"CallLogResult(micFail,title,desc)EndSubPublicSubWarning(title,desc)warning_count=warning_count+1title=title&"WARNING"CallLogResult(micWarning,title,desc)EndSubPublicSubDone(title,desc)done_count=done_count+1title=title&"DONE"CallLogResult(micDone,title,desc)EndSubPrivateSubLogResult(result,title,desc)desktop.CaptureBitmapimgname,trueReporter.ReportEventresult,title,desc,imgnameimgname=Right(Replace(now,":",""),6)&RandomNumber(0,100)&".png"EndSubPrivateFunctionGenerateNote(result,title,desc)'自己在注册表里注册的Dictionary对象,UIName为syDictionary,这里可以直接使用了IfsyDictionary.Count>0thensyDictionary.RemoveAllEndIfsyDictionary("Status")=resultsyDictionary("NodeName")=titlesyDictionary("StepInfo")=descGenerateNote=Reporter.LogEvent("Use