QTP中运行错误的捕捉和记录
2015-07-19 10:36
411 查看
本文提供一种QTP运行错误的捕捉和记录方法
结合QTP本身的场景恢复机制,可以很好的解决该问题首先在恢复场景中定义场景恢复策略
选择需要捕捉的错误种类
定义捕捉错误后的处理,此处定义一个异常处理函数
函数定义如下:
'----------------------------------------------------------------
'函数功能:对象错误记录
'修改说明: ADD BY
'----------------------------------------------------------------
‘ Object-出错对象;Method-对象当前的方法;Argu-对象当前方法的参数;retval-当前错误的返回值(errCode)
Function RecordErr(Object, Method, Arguments, retVal)
wait 3
Dim ErrCode,ErrDesc,ArgCount,WrongInfo,ArgList
Dim i,blankStr,ErrCount,CurRow
‘在Globaltable中记录累计错误数
CurRow = DataTable.GlobalSheet.GetcurrentRow
DataTable.GlobalSheet.SetcurrentRow 1
If Environment ("ActionName")<> datatable.Value("CurAction",dtGlobalSheet) Then
datatable.Value("CurAction",dtGlobalSheet) = Environment ("ActionName")
datatable.Value("ErrCount",dtGlobalSheet) = 0
End If
ErrCount = CInt (datatable.Value("ErrCount",dtGlobalSheet))
blankStr = " "
ErrCode = retVal
If ErrCode = 0 Then
ErrDesc = "不明错误!"
Else
ErrDesc = DescribeResult(ErrCode)
End If
ArgCount = UBound(Arguments)
For i = 0 to ArgCount
ArgList = ArgList & CStr(i) & "--" & CStr(Arguments(i)) & "/"
Next
On Error Resume Next
‘获取对象错误具体描述,此处使用了对象较通用的name属性,部分对象没有该属性可能出错
WrongInfo = "Object Name: " & Object.GetTOProperty("name") & vbCrLf _
& blankStr & "Current Method: " & Method & vbCrLf _
& blankStr & "ArgList: " & ArgList & vbCrLf _
& blankStr & "ErrDesc: " & ErrDesc
On Error GoTo 0
GE_logError "对象运行中出现错误--" & WrongInfo,micFail
Err.Clear
ErrCount = ErrCount + 1
‘累计错误达5次后退出当前流程
If ErrCount >= 5 Then
ErrCount = 0
datatable.Value("ErrCount",dtGlobalSheet) = ErrCount
DataTable.GlobalSheet.SetcurrentRow CurRow
routingname = ""
GE_logError "*****运行过程错误过多,退出本Aciton Iteration,请运行完成后检查环境和脚本!*****",micFail
ExitActionIteration
End If
datatable.Value("ErrCount",dtGlobalSheet) = ErrCount
DataTable.GlobalSheet.SetcurrentRow CurRow
End Function
from:http://blog.csdn.net/xuyubotest/article/details/5211591
相关文章推荐
- Qt MVC学习 模型子类化参考
- 在QT5中设置应用程序图标
- OSG嵌入Qt的第二种方式:使用QOpenGLWidget/QGLWidget
- 自学Qt_2,第一个应用程序
- qt- thread —— 关于槽函数所在线程的问题
- Qt中 抽象列表模型类 的使用
- qtcreator快捷键总结
- qt中设置菜单高度
- Qt界面编程之多窗口切换
- qtp 参数类 VBS 利用Default 关键字来 实现构造函数的功能
- VS2010配置QT5.5.0开发环境
- 利用QTP TextUtil对象获取图片验证码
- ubuntu Qt连接MySQL
- QT:QDir中文件路径的问题“\” “\\” “/"
- Qt中PostgreSQL数据库驱动插件的编译
- QTP 中class 类的应用(一)
- QTP 应该DOM ,web测试不再困难
- JScript在QTP中的终极探究(二)
- JScript在QTP中的应用探究(一)
- QTP/UFT 11中EmbedScript 和 RunScript 的区别