测试过程,QTP自带的报告内容非常多,也许大部分都不是你想要的。
此时你,可以写一个自定义写报告的函数:
'**********向QTP报告中写入自定义信息****************
Public function writeRpt(byval EventStatus,byval ReportStepName,byval Details)
'EventStatus是报告状态 0为micPass;1为micFail;2为micDone;3为micWarning。
'ReportStepName是报告中预期步骤的名称(对象名)。
'报告事件的描述。该字符串将在报告的步骤详细信息框架中显示。
Dim CurrentMode '记录当前状态
CurrentMode = Reporter.Filter '保存当前状态
Reporter.Filter = 0 '启用报告模式
Reporter.ReportEvent EventStatus,ReportStepName,Details '写入报告信息
Reporter.Filter = CurrentMode '还原报告状态
End Function
'示例 writeRpt(0,"新增名片","向文件夹新增名片成功!")
'***************************************************
然后在脚本前加上一句:
reporter.Filter = 1 '报告中只显示警告和错误
默认的警告和错误,我们可以设置在结果中保存截图。
如果想在自定义的报告中添加截图,方法可参考如下代码:
'myObject为需要截图的对象 picName为图片名称,可自定义。
myObject.CaptureBitmap picName,True
reporter.ReportEvent 0,"Pic","--><img src= """ & Environment("ResultDir") & "\" & picName& """&>"
需要解释一下的是,必须在图像字符串前添加“< 或 >”。
QTP的测试报告是以XML格式保存的。< 和> 是html的tag,相当于 < 和 >
由于在results.xml中有两行是定义是否在测试结果中显示html对象
<!ELEMENT Details ( #PCDATA ) >
<!ATTLIST Details plainTxt (False|True) "True">
缺省是显示成纯文本,这里如果把True改成False也可以直接显示图片。
另外:VBS字符串中要使用",可以用chr(34)或者两个连续的"。<img src=""path"">
Environment("ResultDir") 即环境变量,是你测试结果的目录。
你可以写一个函数自动给picName命名,让这个名字是唯一的,那么程序截图时就不再为命名发愁了。



自定义测试报告的方法,让你的测试报告变成你想要的

higkoo





