RSS Feed

QTP Custom image capturing script

You should start with following code

RegisterUserFunc “Page”, “CaptureScreenshot”, “CaptureScreenshot”
RegisterUserFunc “Browser”, “CaptureScreenshot”, “CaptureScreenshot”
RegisterUserFunc “Frame”, “CaptureScreenshot”, “CaptureScreenshot”
RegisterUserFunc “Dialog”, “CaptureScreenshot”, “CaptureScreenshot”
RegisterUserFunc “swfWindow”, “CaptureScreenshot”, “CaptureScreenshot”

use the following line where you want take screenshot or snapshot

Browser(“micclass:=Browser”).Page(“micclass:=Page”).CaptureScreenshot micPass, “<h4 align = “”Center””>Page SuccessFully Displayed</h4>”

The below code is a library file. Add the library file to the script

Public Sub CaptureScreenshot( ByRef Sender, ByVal micStatus, ByVal descriptionStr )
Dim dateTimeNow, fileNameStr, divDesc, caption
Dim dicMetaDescription, qtp
dateTimeNow = DotNetFactory.CreateInstance( “System.DateTime” ).Now.ToString( “ddMMyyHHmmss” )
fileNameStr = Reporter.ReportPath & “\” & dateTimeNow & “.png”
Set qtp = CreateObject( “QuickTest.Application” )
qtp.Visible = False
Wait 0, 500
If IsObject( sender ) Then
Sender.CaptureBitmap fileNameStr, True
caption = Sender.ToString & ” – Capture Bitmap”
Desktop.CaptureBitmap fileNameStr, True
caption = “Desktop – Capture Bitmap”
End If
qtp.Visible = True
divDesc = “<table align=’center’ border=’5′ cellpadding=’1′ cellspacing=’1′ width=’100%’ title='” & fileNameStr & “‘ frame=’hsides’>” & _
“<caption>” & caption & “</caption>” & _
“<thead><tr><th>Application Exception Description</th></tr></thead>” & _
“<tfoot><tr><td align=’center’><img border=’2px’ src='” & fileNameStr & “‘ /></td></tr></tfoot>” & _
“<tbody><tr><td>” & descriptionStr & “</td></tr></tbody></table>”
Set dicMetaDescription = CreateObject( “Scripting.Dictionary” )
dicMetaDescription( “Status” ) = micStatus
dicMetaDescription( “PlainTextNodeName” ) = “ApplicationException”
dicMetaDescription( “StepHtmlInfo” ) = “<DIV align=center>” & divDesc & “</DIV>”
dicMetaDescription( “DllIconIndex” ) = 205
dicMetaDescription( “DllIconSelIndex” ) = 205
dicMetaDescription( “DllPAth” ) = EnVironment( “ProductDir” ) & “\bin\ContextManager.dll”
Call Reporter.LogEvent( “User”, dicMetaDescription, Reporter.GetContext )
dicMetaDescription(“User”) = EnVironment (“dicMetaDescription”)
End Sub

To get HTML report there is registry modification of qtp registries.

HKEY_LOCAL_MACHINE\SOFTWARE\Mercury Interactive\QuickTest Professional\Logger\Media\Log Change the active DWORD from 0 to 1. What ever is running in qtp script it will generate HTML report at the time of result and it will save it folder name LOG in Results folder

For Eg: F:\Automation Projects\——–\Res1\Log

NOTE : You can use the above script capturing screenshots if there is an error while running QTP Test Runs


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: