UFT/QTP 恢复方案功能

UFT/QTP Recovery scenario functionality

恢复方案在 UFT 中如何工作? 我的意思是 UFT 如何知道在 运行 时间内何时实施恢复方案?

UFT 控制运行测试的 VBScript 引擎,当它发现步骤中发生错误时,它会检查是否注册了相关的恢复方案来处理此错误。如果是这样,它会运行恢复方案而不是将错误传递回测试。

我看不出这些信息对测试自动化工程师有何用处。

您可以使用 UFT 中的向导创建恢复方案 IDE。作为步骤的一部分,您可以定义此恢复方案的触发条件(示例:运行时错误、出现特定对话框、在每个步骤等)。如果触发了恢复场景,您可以采取一些措施来补救这种情况。大多数时候你想执行一个功能等等.....所有这些信息都可以在 Microfocus (HPE) 文档中找到。

鲜为人知的是,恢复场景触发器仅查看操作中的步骤。如果您离开了基于动作的框架,但主要使用函数来对关键字进行分类——那么恢复场景对您来说就没用了——它们不会被触发;忽略它们 - 并使用带有大量代码的普通旧 VBS 错误处理和 On Error Resume Next。

恢复场景是基于事件的,而 On Error Resume Next 类型的错误处理必须始终是确定性的(您始终必须知道意外弹出窗口可能出现的位置并进行处理)。

长话短说:恢复场景的基于事件的性质在错误处理方面将是一个很大的优势,但它只能用于基于操作的框架,而另一方面,这在资源管理和开发简易性方面非常糟糕, 所以大多数人倾向于放弃它

似乎晚了,但我想回答这个问题,因为我经常处理这些场景。 只要预期会发生某些意外情况,就可以使用恢复方案。在较旧的虚拟机上工作时,我经常遇到 Internet Explorer 崩溃的错误,有时 Excel 崩溃或 Java 应用程序崩溃 etc.As 这些事情随时可能发生,可能在您的第一行代码或可能在最后一行。因此,为了处理此类意外情况,我们可以使用恢复方案。

接下来,如何创建和激活恢复场景:导航到资源-> 恢复场景管理器-> Select 您要为其创建恢复场景的条件-> 提供 post恢复步骤-> 命名,保存并将其关联到您当前的测试。

希望这对您有所帮助。如果还有什么需要请写。

恢复场景可以而且将会从与测试相关的任何函数库中触发,而不仅仅是从操作脚本文件中触发。 供自动化测试工程师使用。

有一个选项可以决定您是希望它仅在出现错误时触发,还是在每一步(GUI 步骤,这意味着:Dim i ==> i=7 等...不会触发恢复)。

将其设置为在每一步都启动会导致性能问题,但对于今天的新机器,您几乎不会注意到它。只需 运行 使用和不使用此设置的相同测试(足够长)并测量测试持续时间以确定。

可以轻松测试的示例: 在大多数应用程序中,保存按钮会将新的更改保存到打开的文件中,但如果这是一个新文件,它会提示用户保存它的位置。通常,打开此对话框(保存)时,用户无法处理该应用程序。

现在,设置一个匹配的恢复来处理“保存”对话框,编写一个执行某些活动的脚本,按下“保存”按钮(新文件),然后继续单击应用程序。因为保存对话框将(可能)阻塞下一个 activity,UFT 将触发恢复机制,运行 它的代码。

您可以在此处放置一个断点,然后像调试任何其他代码一样对其进行调试。