QTP的报告管理扩展框架 - ReporterManager

ReporterManager是一个QTP的报告管理扩展框架,目前最新版本是0.9.2,可到www.AdvancedQTP.com下载。

 

支持好几种方式的报告,例如:弹出消息框的报告方式、Excel表格样式、Windows事件日志、数据库报告、样式文本、屏幕截屏,还有QTP自身的报告,最新版本的还支持XML格式报告。

 

下面是一个简单的使用ReporterManager的代码:

Call oReporterManager.StartEngine("Text", "Log", "") '启动一个Text类型的日志报告

Call oReporterManager.Report ("Pass", "Step 1" ,"Window Should Open" ,"All OK", "No Details")  '把事件记录到文件中

 

具体的使用方法尚未深入尝试,不过看它附带的Demo感觉挺容易使用的,并且很简单的几行调用代码就能得到很漂亮的Excel报告:

 

Test Results

 

 

 

 

Test Date:

2008-1-27

 

Test Start Time:

8:58:26 PM

 

Test End Time:

8:58:46 PM

 

Test Duration:

0:00:20

 

No Of Testcases:

1

 

Total No Of Test Steps:

3

 

 

 

 

TestCase Name

Status

No Of Steps

Action1 > Iteration (Test-Action) = 1-1

Fail

3

 

 

 

 

 

 

 

 

STEP NAME

STATUS

EXPECTED RESULT

ACTUAL RESULT

ERROR MESSAGE

 

Action1 > Iteration (Test-Action) = 1-1

Step 1

Pass

Window Should Open

All OK

No Details

Step 2

Warning

Window Should Open

It Didn't

Some Details

Step 3

Fail

Window Should Open

App. Crashed

Bla Bla Bla

 

下面是它附带的Demo脚本代码,可以清楚知道如何使用各种格式的报告引擎:

'''<summary>This is a demo QTP test, that showcases some of the ReporterManager abilities</summary>

'''<datecreated>01/09/2007</datecreated>

'''<version>0.9</version>

 

Option Explicit

''Written by Yaron Assa, 1/9/07. Project home at www.AdvancedQTP.com

 

'Here's an extensive yet effective reporting framework example:

 

'Add QTP native reporter to the party. This way we wont need 2 reporting commands - one to ReporterManager, and one to the QTP result log

Call oReporterManager.StartEngine("QTP", "QTP", "")

 

'Set up a complete backup log - the basics

Call oReporterManager.StartEngine("Text", "Backup", "File>C:/Logs/QTPLog.txt")

'Make sure to copy the demo MDB database to c:/QTP Log.mdb

Call oReporterManager.StartEngine("DB", "DB Backup", "CreateNew>True")

 

'Set up statistics log - with it we can later produce the step pass/fail ratio with a click of a button

Call oReporterManager.StartEngine("Text", "Stats", "File>C:/Logs/Statistics.CSV|BodyTemplate>""%Status%, %StepName%, %Expected%, %Actual%, %Details%"" & vbcrlf|NewTestCaseTemplate>""General, Switched TestCase, , , %TestCaseName%"" & vbcrlf")

 

'Set up dedicated performence log - we can load it to excel and imiddiatly extract the time-step differences between relevant steps

Call oReporterManager.StartEngine("Text", "Performance", "File>C:/Logs/Performance.CSV|BodyTemplate>""%Time%, %StepName%"" & vbcrlf|NewTestCaseTemplate>"" "" ")

 

'Set up a top view excel log, so we'll have something pretty to send to management

Call oReporterManager.StartEngine("Excel", "TopView", "File>C:/Logs/TopView.xls")

 

'Set up a dedicated error & warnning logs

 Call oReporterManager.StartEngine("Text", "Errors", "File>C:/Logs/Errors.txt|BodyTemplate>""%Time%, %Status%, %StepName%, %Expected%, %Actual%"" & vbcrlf")

 Call oReporterManager.StartEngine("Winlog", "Win Errors", "ShowAs>QTP Errors")

 Call oReporterManager.StartEngine("ScreenCapture", "Error Captures", "Path>C:/Logs/|Prefix>Error -")

 

'Set up the filter for errors

       Call oReporterManager.AddFilter("RegEx", "Errors>Win Errors>Error Captures", "Pattern>Fail|WhatToSearch>Status")

 

'Set up a user popup that alerts whoever's watching that an error has occured  - enable major time saves as a script can be stopped imidiatly

 Call oReporterManager.StartEngine("User", "Errors Pop Up", "Timer>2")

       Call oReporterManager.AddFilter("RegEx", "Errors Pop Up", "Pattern>Fail|WhatToSearch>Status")

 

 'Test the logs :

Call oReporterManager.Report ("Pass", "Step 1" ,"Window Should Open" ,"All OK", "No Details")

Call oReporterManager.Report ("Warning", "Step 2" ,"Window Should Open" ,"It Didn't", "Some Details")

Call oReporterManager.Report ("Fail", "Step 3" ,"Window Should Open" ,"App. Crashed", "Bla Bla Bla")

 

 

另外,ReporterManager的几个VBS代码文件也值得深入学习和研究。

 

 

 

你可能感兴趣的:(框架,Excel,regex,扩展,UP,statistics)