我的机器人框架测试与Selenium2Library偶尔卡在等待浏览器页面完全加载服务器响应,这导致测试有时无限期挂起 . 在我遇到的大多数情况下,浏览器已经加载了99%的内容,并且可以很好地进行交互 . 但是,在浏览器加载完全停止之前,自动化不会继续 .
当我看到自动化测试运行并遇到此浏览器挂起问题时,如果我手动按浏览器“停止”按钮,浏览器将停止加载并自动测试恢复正常 . 我希望在浏览器挂起的情况下自动执行此浏览器停止,但在浏览器按预期加载时不要让测试速度变慢 .
我看到在Python中有一个名为 set_page_load_timeout()
的Selenium Webdriver命令,如果我能弄清楚如何在Robot Framework中使用它,它看起来可能就像我正在寻找的那样 .
我一直在看的另一个选项是执行javascript来强制停止浏览器加载,如下所示:
***Keywords***
Stop browser load
Execute Javascript return window.stop();
但是,使用上面的命令,问题就是如何实现它并识别浏览器加载时间过长 . 我不希望每次加载新页面或点击链接时都设置不必要的超时,因为这会导致测试的整体运行速度变慢 .
Robot Framework的Selenium2Library是否已经内置了这样的内容,您可以在其中设置服务器响应的实际页面加载时间,以便测试可以识别浏览器何时仍处于加载状态?我一直在审查Selenium2Library documentation,但没有发现与此直接相关的任何内容 .
非常感谢任何帮助,谢谢 .
1 回答
您可以使用Robotframework Timeout . 您可以在设置或关键字中设置超时 .
In Keyword:
In Settings: