如何在uft中实现框架的错误处理功能

问题描述 投票:1回答:1

我在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'语句中的每个函数写入。

vbscript hp-uft
1个回答
0
投票

您需要更改请求数据库视图的方式,以便以后的修改或删除不会影响您的查询。

看看ADO Recordset的文档。它指定了不同的游标类型,其中一些允许您保持数据的静态视图,就像运行查询时一样,而其他类型则提供实时视图。我不确定哪一个最适合您的特定用例,因此您应该尝试并查看哪一个适合您。

如果做不到这一点,你可以尝试一种非常重要的方法,即在你选择之前开始使用database transaction,它应该将你的数据处理与任何外部变化隔离开来。但是,如果您的进程需要很长时间,那么这可能是不合需要的,因为它可能会锁定其他进程,直到您结束事务并在您正在查看的行上产生锁定。同样,它取决于您的特定数据库环境以及与之交互的系统。

© www.soinside.com 2019 - 2024. All rights reserved.