首页 文章

如何确定浏览器是否已从HP UFT 12中挂起

提问于
浏览
0

我正在HP UFT 12中编写一系列测试集自动化套件 . 问题是我们需要知道浏览器何时/是否被挂起以防止UFT挂起或抛出错误消息并等待用户响应 . 麻烦的是,如果测试运行,那么没有人能够在早上做出响应 . 如果可能的话,我们想记录错误并继续下一次测试迭代 . 麻烦似乎是没有办法检测浏览器是否已被绞死 .

示例:所以我有这个测试脚本 . 它检查对象并在浏览器窗口上执行某些操作 . 麻烦的是,如果浏览器上的项目不存在,则可能不是完全失败,只是无法执行该项目的操作 . 因此,简单地检查对象是否存在不仅仅是答案,而且仅仅检查对象是否存在并不能保证它可能存在但是隐藏或移出屏幕 . (对于任何一直在QTP / UFT中编写代码的人都知道)

所以想象一下,我正在进行这项测试 . 当测试正在执行时,我控制它正在驱动的浏览器并输入URL:www.crashie8.com,它会立即崩溃模拟挂起的浏览器 . 现在是事情变得有趣 .

QTP / UFT应该能够解决这个问题 . 如果我保持代码不变,UFT最终会抛出一条错误信息,如上所述,这对我没有帮助 .

我可以在每个函数/测试脚本的开头添加“On Error Resume Next”这一行,但是这会立即挂起UFT,然后一切都被挂起来,这只是我桌面上的大量流量堆积!

执行诸如“On Error ExitAction”或“On Error ExitTest”或“On Error ExitActionIteration”或“On Error ExitGlobalIteration”之类的操作都会产生编译时错误“无效语法”

也许我错过了一些我在Check Points或Recovery Scenerios中不了解或不了解的功能?

编辑:解决方案:进入脚本设置 - >运行并设置选项:“运行会话期间发生错误:停止运行” . 运行结果将显示错误,指示识别浏览器时出现故障 .

不完全有效 . 虽然选项“Stop Run”确实会停止运行,但即使对象被错误识别也会停止运行,但是,当发生这样一个简单的错误时,脚本应该能够继续运行 . 因此,将选项设置为“继续下一步”将解决继续出现小错误的问题,但在浏览器挂起时仍会挂起UFT / QTP . “继续下一个动作迭代”选项也有同样的问题 . 所以似乎没有中间立场,似乎没有任何代码可以解决这个问题 .

我想现在唯一可行的解决方案是“停止运行”选项,虽然它会非常烦人,它会一直踢出去并且无法以任何方式继续,并且所有其他继续选项同样失败,并没有编码解决方案 . 因为On Error ExitAction甚至不能让你保存,这要归功于一个甚至不应该是错误的语法错误?!还有其他任何选择吗?

编辑:我猜“停止运行”甚至每次都不起作用 . 必须有一个更好的解决方案!任何人?

弄清楚UFT / QTP崩溃的可能原因是因为IE插件 . 但无法禁用IE插件,因为没有它,UFT / QTP将无法对IE进行测试 . 所以我们再次陷入困境中!说真的,惠普没有人想过这个东西吗?!

1 回答

  • 0

    解决方案:进入脚本设置 - >运行并设置选项:“运行会话期间发生错误:停止运行” . 运行结果将显示错误,指示识别浏览器时出现故障 . 如果iexplorer.exe进程树被终止,则UFT将恢复 . 因此,这是唯一的解决方案,虽然不是一个非常好的解决方案,但它实际上更像是一种解决问题的解决方案 .

    “上面的选项是UFT提示一些错误,但在崩溃时它没有提示任何错误”

相关问题