我有一个与网页交互的 QTP 脚本。有时,此网页会弹出对话框,干扰测试的其余部分,需要通过简单的“确定”将其关闭,然后我才能继续运行测试。
恢复方案应该处理这种确切的情况,但尽我所能,QTP 永远不会识别弹出窗口。恢复方案设置为在看到带有“窗口标题:来自网页的消息”的对话框时触发。我使用了对象间谍,所以我知道这是正确的标识。
附上网页偶尔显示的对话框。非常简单的对话框,为什么 QTP 不能识别呢?
事实证明,我的恢复方案构建正确,但我遇到的问题是 QTP 不知道何时激活恢复方案。
转到File > Settings > Recovery
,突出显示要激活的恢复方案,然后更改Activate recovery scenarios
为On every step
。
默认情况下,恢复方案仅在QTP抛出错误时激活,而不是在您的网页抛出错误时激活。最后,让恢复方案检查每一步可能会降低性能。
您应该检查此窗口何时显示为页面刷新、打开新窗口或单击按钮,或在页面上操作 2 长。那么既然这是你得到的标准窗口,你为什么不添加到对象存储库中。然后创建一个检查此窗口是否存在的函数,当任何可疑情况发生时调用此函数。这不会严重降低与恢复方案相比的性能。