QTP on error 错误处理机制
大家好,我是新手,有个问题想请教大家。我录制了一个脚本(测试项目是C++项目),现在需要进行错误处理。包括两个方面的错误。一个是程序中的错误,一个是脚本错误。对于这两种错误我的想法是,无论是遇到程序bug还是遇到脚本错误,都先进行截图,并放到指定目录,然后继续进行下一个迭代循环。
问题是:该如何实现这个想法呢? On Error Resume Next 这个是我的代码,麻烦大家帮忙看一下!
问题一:不能在发生错误的时候截图。该怎么修改?
问题二:怎么修改才能对于程序错误和脚本错误都记录下来?
Function RecoverFunctions(Object,Method,Argument,retVal)
Dim objFSO
Dim strDesktopFolder
Dim objFolder
Dim PathWay
Dim FileName
Dim TimeStamp
Dim WshShell
Dim strStepinfo
Dim strDetails
Dim CheckFolderExists
strDesktopFolder ="C:\ErrorScreenCapture"
Set objFSO=CreateObject ("Scripting.FileSystemObject")
CheckFolderExists =objFSO.FolderExists(strDesktopFolder)
If CheckFolderExists=True Then
Set objFolder=objFSO.GetFolder(strDesktopFolder)
else CreateFolderDemo strDesktopFolder
End If
PathWay="C:\ErrorScreenCapture"
TimeStamp=year(now) & month(now) & day(now) & hour(now) & minute(now)
msgbox TimeStamp
FileName=PathWay&TimeStamp&".bmp"
msgbox FileName
Desktop.CaptureBitmap FileName
reporter.Filter=0
reporter.ReportEvent 1,"测试失败","将error截图保存下来"
reporter.Filter=3
On Error Resume Next
Err.Raise
strStepinfo="T发生非预期错误,测试退出"
strDetails = "错误编号:" & CStr(Err.Number) & ",错误描述:" & Err.Description
reporter.Filter = 0
Reporter.ReportEvent micFail, strStepInfo," " & Arguments(0) & " 出现错误,错误编号:" & retVal
reporter.Filter = 3
Err.clear
On Error GoTo 0
'End Function
Function CreateFolderDemo(sFlodername)
Dim fso, f
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.CreateFolder(strDesktopFolder)
End Function 问题一:不能在发生错误的时候截图。该怎么修改?
使用场景恢复,设置any error的时候调用你的这个function。
问题二:怎么修改才能对于程序错误和脚本错误都记录下来?
程序错误的情况有很多,对于能够引发脚本的错误的程序错误(比如某个对象不见了或者意外弹出一个对话框),这种用场景恢复都可以处理。对于不会引发脚本错误的程序错误,比如显示的文字错误或者其他情况,只能你自己做一些检查点,可以判断检查点不通过的时候去调用你的function。
页:
[1]