【问题标题】:how to implement the error handling function for the framework in uft如何在uft中实现框架的错误处理功能
【发布时间】:2017-12-11 06:42:13
【问题描述】:

我在UFT 框架中运行DB queries。在执行过程中,如果后端表中的数据被删除,那么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

我在函数库中添加了上述函数,并在测试设置中关联了恢复场景。但仍然抛出错误消息。

请帮助我在运行时处理错误消息,而不是为每个函数编写“on error resume next”语句。

【问题讨论】:

  • 你试过把可疑代码放在On Error Resume Next下吗?
  • 不..我不希望在每个函数中添加这个..这就是原因,我没有尝试过代码..我希望它可以与现在使用的框架一起使用..我在恢复方案中尝试了这个,但没有工作..
  • 您不能使用 RS 来隐藏代码问题...当应用程序中发生错误时使用 RS。您是否认为每个函数都会因为数据库问题而失败?
  • No.. 如果表中没有记录,则会出现运行时错误。现在我通过添加一行代码来检查数据是否存在。这对我有用。
  • 但我所期望的就像测试设置一样 --> 错误恢复下一步.. 如果我这样做,在运行期间,如果发生任何错误,我的测试运行将不会停止。它将继续,但报告不会将步骤显示为失败,并且不会在结果报告表中报告错误。我希望我可以通过恢复方案处理此问题

标签: vbscript hp-uft


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-17
    • 2014-09-21
    • 1970-01-01
    • 2010-11-20
    相关资源
    最近更新 更多