2016-08-25 13 views
1

サイトの一部の煙のテストのためにRobot Frameworkを調べており、ある時点でサインインして新しいウィンドウを開きます。 Select Windowという新しいウィンドウに移動すると、サインインのタイトルを特定することでこの変更を橋渡ししています。新しいウィンドウでは、ログインフォームが読み込まれてすぐにそのタイトルが採用されることはありません。ときには5以上です。Robot Frameworkが新しいウィンドウでは高速すぎる

私は今、このテストを嫌なことに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を使用して。

+0

ページが読み込まれるのを待つステップがあるかどうかを確認し、Select Windowの後に追加します。これもチェックしてくださいhttp://stackoverflow.com/questions/36568653/wait-until-the-page-is-loaded – lauda

+0

laudaが提案した方法が最適です。しかし、ページが読み込まれたときを検出できない場合は、別の方法があります:エラーを無視して、成功するまでウィンドウを選択しようとするキーワードを書くことができます – Pekka

+0

ありがとうございます!問題はそれほど多くの要素やページが読み込まれるのを待っているわけではありません。読み込まれたかどうかを評価できるように、開かれた新しいウィンドウを表示する方法はわかりません。私の限られたウィンドウの変更に関する知識は、 'Select Window'とtitles/urlsに依存していますが、自動リダイレクトを開くページなので、私が頼りにしているタイトルはすぐには確実に表示されません。眠り、それが10秒で十分であることを願っています(通常2回は大丈夫ですが、必ずしもそうではありません)。 – sm0115

答えて

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 

ありがとう、両方!

関連する問題