私は、ユーザが2つの可能なブラウザウィンドウ/タブを見ることができるアプリを持っています。Capybara/Seleniumにフォーカスを当てずにウィンドウのタイトルを取得する
ウィンドウ2にユーザーがいて、ウィンドウ1でイベントが発生した場合、JQueryのタイトルアラート(https://github.com/heyman/jquery-titlealert)を使用してタイトルバーのテキストを変更しますウィンドウ1で何かが起こっていることを通知します。ウィンドウ1がフォーカスされるまでタイトルテキストの変更が点滅します。
これはすべて正常に動作します。しかし、私はcapybaraとseleniumを使ってこれを統合テストしたいと思います。興味深い問題が発生しました。
page.driver.browser.switch_to.window(page.driver.browser.window_handles.last)
私はそれは、テキストが変更されたということをテストするために焦点の合っていないウィンドウのテキストを取得できるようにしたい:私は簡単のようなものを使用してウィンドウを切り替えることができますが。誰も方法を知っていますか:
- すべてのウィンドウのタイトルを取得しますか?
- ウィンドウのプロパティを切り替えることなくそれを調べる/それに焦点を当てるか?
- 他の方法でこの問題に近づけることができますか?
ありがとうございました!
ありがとう!しかし、私はWebDriverBackedSeleniumを扱うことができないか、または2.19にアップグレードした後でさえ、Capybaraを使ってRailsプロジェクトからこれを使うようにSeleniumを設定することはできません。私はまだドキュメントやRailsコミュニティーのドキュメントは見ていませんが、私は探しています。 –
RailsやCapybaraについてよく分かりませんが、私はそれがうまくいくと思った理由は、[Selenium release 「WebdriverBackedSelenium」がJava以外のサポートされている言語で使用できるようになりました(http://seleniumhq.wordpress.com/2012/02/08/announcing-selenium-2-19-the-prancing-unicorn-release/) 。 – shamp00
あなたは間違いなく私の質問に答えました。今はRoR実装の詳細を理解するのは私の責任です。ありがとう :) –