サイトの一部の煙のテストのために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を使用して。
ページが読み込まれるのを待つステップがあるかどうかを確認し、Select Windowの後に追加します。これもチェックしてくださいhttp://stackoverflow.com/questions/36568653/wait-until-the-page-is-loaded – lauda
laudaが提案した方法が最適です。しかし、ページが読み込まれたときを検出できない場合は、別の方法があります:エラーを無視して、成功するまでウィンドウを選択しようとするキーワードを書くことができます – Pekka
ありがとうございます!問題はそれほど多くの要素やページが読み込まれるのを待っているわけではありません。読み込まれたかどうかを評価できるように、開かれた新しいウィンドウを表示する方法はわかりません。私の限られたウィンドウの変更に関する知識は、 'Select Window'とtitles/urlsに依存していますが、自動リダイレクトを開くページなので、私が頼りにしているタイトルはすぐには確実に表示されません。眠り、それが10秒で十分であることを願っています(通常2回は大丈夫ですが、必ずしもそうではありません)。 – sm0115