QTP実行時のエラーショットをQCテストセットにアップロードする
テスト実行時に各ステップのスクリーンショットをQCにアップロードすると、QCのシステムリソースが大量に消費されます.通常、エラーが発生した場合のスクリーンショットを表示したいだけです.デバッグと実行に失敗した後、原因を特定する必要がある場合、これらのスクリーンショットは問題の特定に迅速に役立ちます.
以下の手順により、上記の要件を簡単に実現することができる.共通関数ライブラリにクラスを作成し、このようなインスタンス を作成します.クラスの解析関数でエラーが発生するか否かを判断し、 を断面する.は、QCの現在のテストセットのインスタンスに添付ファイルとしてスクリーンショットをアップロードする.
このクラスの完全なコードは次のとおりです.
以下の手順により、上記の要件を簡単に実現することができる.
このクラスの完全なコードは次のとおりです.
' Class: QCImageErrorCapture
' WebSite: http://KnowledgeInbox.com
' Author: Tarun Lalwani
' Description: This class captures the screen in case the current component fails or the current
' test fails. This is for QC only
' Parameters: N/A
Class QCImageErrorCapture
Sub Class_Terminate()
'Check if the current test has failed. If failed then only capture screenshot
If Reporter.RunStatus = micFail Then
CaptureAndAttachDesktop
End If
End Sub
Private Sub CaptureAndAttachDesktop()
'QC is not connected
If QCUtil.IsConnected = False then Exit Sub
'The test is not running from Test Lab
If QcUtil.CurrentRun is Nothing Then Exit Sub
On error resume next
'Hide QTP to make sure we don't get QTP in snapshot
Set qtpApp = CreateObject("QuickTest.Application")
qtpApp.visible = False
'GIve time for QTP to get hidden
Wait 2
'Capture the screenshot to the report folder
Desktop.CaptureBitmap Reporter.ReportPath & "/Report/ErrorImage.png", True
qtpApp.visible = True
'Add the capture to QC
Set oAttachments = QCutil.CurrentRun.Attachments
Set oAttachment = oAttachments.AddItem(null)
oAttachment.FileName = Reporter.ReportPath & "/Report/ErrorImage.png"
oAttachment.Type = 1 'File
'Check if the current test is a QTP Test or Business Component
Select Case LCase(qtpApp.CurrentDocumentType)
Case "test"
oAttachment.Description = "Name: " & qtpApp.Test.Name & vbNewLine & "Error: " & qtpApp.Test.LastRunResults.LastError
Case "business component"
oAttachment.Description = "Name: " & qtpApp.BusinessComponent.Name & vbNewLine & "Error: " & qtpApp.BusinessComponent.LastRunResults.LastError
'We can also add the Business COmponent to a User Defined Field
'QCUtil.CurrentTestSetTest.Field("TC_USER_01") = qtpApp.BusinessComponent.Name
'QCUtil.CurrentTestSetTest.Post
End Select
'Add the attachment
oAttachment.Post
End Sub
End Class
'Create the object in one of the attached libraries. When the Test or Business component ends
'the screenshot will be captured
Set oErrorCapture = new QCImageErrorCapture
QTP , QC。