Automation Robot框架对于新窗口太快

Automation Robot框架对于新窗口太快,automation,robotframework,selenium2library,Automation,Robotframework,Selenium2library,我正在探索机器人框架,对一个站点进行一些烟雾测试,在某一点上,我必须登录,这将打开一个新窗口。使用Select window移动到新窗口对我来说很有用,但我通过标识登录的标题来弥补这一变化,新窗口在加载您的登录表单时不会立即采用该标题-有时需要半秒,有时超过5秒 我现在正在通过让测试睡眠长达10秒来解决这个问题,但肯定有更可靠的方法来确保我可以将目标窗口更改为新窗口,并且在加载页面时不会让测试失败并退出。我尝试过使用重定向url作为标识符,但有时它重定向得非常快并失败,或者如果没有,那么在下一次

我正在探索机器人框架,对一个站点进行一些烟雾测试,在某一点上,我必须登录,这将打开一个新窗口。使用
Select window
移动到新窗口对我来说很有用,但我通过标识登录的标题来弥补这一变化,新窗口在加载您的登录表单时不会立即采用该标题-有时需要半秒,有时超过5秒

我现在正在通过让测试睡眠长达10秒来解决这个问题,但肯定有更可靠的方法来确保我可以将目标窗口更改为新窗口,并且在加载页面时不会让测试失败并退出。我尝试过使用重定向url作为标识符,但有时它重定向得非常快并失败,或者如果没有,那么在下一次检查未加载的登录字段时就会挂起。我见过像
等命令,直到元素可见
,但不幸的是,当我无法将加载内容的窗口作为目标时,这并没有帮助

为了它:

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

目前正在使用Selenium2库。

劳达写了一个用于管理选择窗口的关键字。我找到了
等待关键字成功
,并为它创建了一个等待关键字

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

谢谢你们两位

检查是否有等待加载页面的步骤,并在选择窗口后添加该步骤。同时也验证了劳达提出的这种方法是最好的。但若您无法检测页面何时加载,还有另一种方法:您可以编写一个关键字,尝试选择窗口直到成功,忽略ErrorsHanks进行响应!问题不是等待加载元素/页面,而是我不确定如何让它查看打开的新窗口,以便它可以评估是否加载了。我目前对更改窗口的了解有限,这取决于
选择窗口
和标题/URL,但是打开自动重定向的页面,因此我所依赖的标题不能立即可靠地显示。我需要让它睡眠,并希望10秒足以加载它(通常2秒可以,但并不总是如此)。