1

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

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

为此:

*** 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。

4

1 回答 1

1

lauda 写出了管理选择窗口的关键字是正确的。我找到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

谢谢你俩!

于 2016-08-26T18:04:19.357 回答