机器人框架对于新 Window 来说太快了

Robot Framework too fast for New Window

我正在探索 Robot Framework 以对网站进行一些冒烟测试,有时必须登录,这会打开一个新的 window。使用 Select Window 移动到新的 window 对我有用,但我通过识别登录的标题来弥合这一变化,新的 window 不会立即采用该标题,因为它加载您的登录表单 - 有时需要半秒,有时超过 5 秒。

我现在正在通过让测试休眠 10 秒的令人讨厌的长时间来解决这个问题,但肯定有更可靠的方法来确保我可以将我的目标 window 更改为新目标,并且不会让我的测试失败并在页面加载时退出。我试过使用重定向 url 作为标识符,但有时它会非常快速地重定向并失败,或者如果没有,那么它会在下一次检查未加载的登录字段时挂起。我见过像 Wait Until Element Is Visible 这样的命令,但不幸的是,当我无法定位正在加载内容的 window 时,这无济于事...

为了它:

*** Test Cases ***
Basic Workflow
    Open Browser To Homepage
    Go To Sign In

*** Keywords ***
Open Browser To Homepage
    Open Browser    ${HOMEPAGE}     ${BROWSER}
    Maximize Browser Window
    Set Selenium Speed      ${DELAY}

Go To Sign In
    Click Button    Sign In
    Sleep   10s
    Select Window   Sign In
    Title Should Be   Sign In

目前正在使用 Selenium2Library。

lauda 写出管理 Select Window 的关键字是正确的。我找到了 Wait Until Keyword Succeeds 并创建了一个关键字让它等待。

Go To Sign In
    Click Button    Sign In
    Wait Until Keyword Succeeds   20s   3s    Switch To Sign In Page
    Title Should Be   Sign In

Switch to Sign In Page
    Select Window     Sign In

谢谢你们!