Selenium webdriver Robot Framework Selenium2库-如何停止服务器响应上挂起的浏览器页面

Selenium webdriver Robot Framework Selenium2库-如何停止服务器响应上挂起的浏览器页面,selenium-webdriver,robotframework,page-load-time,selenium2library,Selenium Webdriver,Robotframework,Page Load Time,Selenium2library,我用Selenium2库进行的Robot框架测试有时会在等待浏览器页面完全加载服务器响应时卡住,这会导致测试有时无限期地挂起。在我遇到的大多数情况下,浏览器已经加载了99%的内容,并且可以很好地与之交互。但是,在浏览器加载完全停止之前,自动化不会继续 当我看到自动化测试运行并遇到此浏览器挂起问题时,如果我手动按下浏览器“停止”按钮,浏览器将停止加载,自动化测试将恢复正常。我希望在浏览器挂起的情况下自动停止此浏览器,但不会在浏览器按预期加载时减慢测试速度 我看到Python中有一个名为set\u

我用Selenium2库进行的Robot框架测试有时会在等待浏览器页面完全加载服务器响应时卡住,这会导致测试有时无限期地挂起。在我遇到的大多数情况下,浏览器已经加载了99%的内容,并且可以很好地与之交互。但是,在浏览器加载完全停止之前,自动化不会继续

当我看到自动化测试运行并遇到此浏览器挂起问题时,如果我手动按下浏览器“停止”按钮,浏览器将停止加载,自动化测试将恢复正常。我希望在浏览器挂起的情况下自动停止此浏览器,但不会在浏览器按预期加载时减慢测试速度

我看到Python中有一个名为
set\u page\u load\u timeout()
的Selenium Webdriver命令,如果我能在Robot框架中找到如何使用它,它可能就是我想要的

我一直在研究的另一个选项是执行javascript强制停止浏览器加载,如下所示:

***Keywords***
Stop browser load
    Execute Javascript    return window.stop();
然而,对于上面这样的命令,问题在于如何实现它并识别浏览器加载时间过长。我不想在每次加载新页面或单击链接时设置不必要的超时,因为这会导致测试的整体运行速度减慢

Robot Framework的Selenium2库是否已经内置了类似的功能,您可以在其中设置服务器响应的实际页面加载时间,以便测试能够识别浏览器何时仍处于加载状态?我一直在审查报告,没有发现任何与此直接相关的内容


非常感谢您的帮助。

您可以使用Robotframework Timeout。您可以在设置或关键字中输入超时。

在关键字中:

*** Keywords ***
Timed Keyword
    [Documentation]    Set only the timeout value and not the custom message.
    [Timeout]    1 minute 42 seconds
    Do Something
    Do Something Else
*** Settings ***
Test Timeout    5 seconds

在设置中:

*** Keywords ***
Timed Keyword
    [Documentation]    Set only the timeout value and not the custom message.
    [Timeout]    1 minute 42 seconds
    Do Something
    Do Something Else
*** Settings ***
Test Timeout    5 seconds

您可以使用robotframeworktimeout。您可以在设置或关键字中输入超时。

在关键字中:

*** Keywords ***
Timed Keyword
    [Documentation]    Set only the timeout value and not the custom message.
    [Timeout]    1 minute 42 seconds
    Do Something
    Do Something Else
*** Settings ***
Test Timeout    5 seconds

在设置中:

*** Keywords ***
Timed Keyword
    [Documentation]    Set only the timeout value and not the custom message.
    [Timeout]    1 minute 42 seconds
    Do Something
    Do Something Else
*** Settings ***
Test Timeout    5 seconds

这是有帮助的,也是我正在寻找的部分内容,但不幸的是,如果计时器用完,这只会使测试用例失败,而我希望能够将计时器包装成类似于try的东西,除了这样我可以运行windows stop命令,然后让测试用例继续运行。我研究了使用内置库关键字“如果发生超时,则运行关键字”尽管文档中说明它只能在拆卸时工作,但不幸的是,对于我的场景,此关键字将不起作用。我必须继续查找。是的,如果直到超时,测试才完成,则会使测试失败…当发生此情况时,我们可以使用“重新运行失败”“重新运行失败测试的命令。这里的例子:希望这对你有帮助:)这是有帮助的,部分是我想要的,但不幸的是,如果计时器用完,这只会使测试失败,虽然我希望能够将计时器包装成一个类似于try的东西,但我可以运行windows stop命令,然后让测试用例继续运行。我研究了如何使用内置库关键字“run keyword If Timeout occurrent”,尽管文档中说它只会在崩溃时工作,不幸的是,在我的场景中,这个关键字不起作用。我将不得不继续寻找。是的,如果直到超时测试还没有完成,我们的测试将失败。。。当它发生时,我们可以使用“rerunfailed”命令来重新运行失败的测试。这里的示例:希望这对您有所帮助:)