如何在uft中实现框架的错误处理功能
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在uft中实现框架的错误处理功能相关的知识,希望对你有一定的参考价值。
我在DB queries
框架中运行UFT
。在执行期间,如果在后端表中删除了数据,那么UFT
将抛出错误消息框,如下所示。我想跳过错误并继续并在xml result sheet
中报告错误描述。
错误信息:
运行错误:BOF或EOF为True,或者当前记录已被删除。请求的操作需要当前记录
我试图通过调用错误函数添加恢复方案,然后继续下一步。我的错误功能如下:
Function RecoveryFunction1(Object, Method, Arguments, retVal)
If err.number<>"" then
error1=err.description
Reporter.reportevent micwarning,"Error ocurred:","","Error Details: "&error1&"
End If
End Function
我在函数库中添加了上述函数,并在测试设置中关联了恢复场景。但仍然会出现错误消息。
请帮助我在运行时处理错误消息,而不是为'error resume next'语句中的每个函数写入。
答案
您需要更改请求数据库视图的方式,以便以后的修改或删除不会影响您的查询。
看看ADO Recordset的文档。它指定了不同的游标类型,其中一些允许您保持数据的静态视图,就像运行查询时一样,而其他类型则提供实时视图。我不确定哪一个最适合您的特定用例,因此您应该尝试并查看哪一个适合您。
如果做不到这一点,你可以尝试一种非常重要的方法,即在你选择之前开始使用database transaction,它应该将你的数据处理与任何外部变化隔离开来。但是,如果您的进程需要很长时间,那么这可能是不合需要的,因为它可能会锁定其他进程,直到您结束事务并在您正在查看的行上产生锁定。同样,它取决于您的特定数据库环境以及与之交互的系统。
以上是关于如何在uft中实现框架的错误处理功能的主要内容,如果未能解决你的问题,请参考以下文章
如何使用原生崩溃报告在 Swift 4 中实现异常/错误处理?