私はArquillian Drone + Graphene(スタンドアロン)を使用して、別のマシンでホストされているSelenium Grid 2.0で自動ブラウザテストを実行しています。テストは、クライアントモードのArquillian経由で実行されます(テスト対象のサーバは既に稼働しています)Arquillian Drone + Selenium Grid 2.0:未使用のブラウザを有効にします。
私のテストでは2つのブラウザを同時に使用する必要があるため、Graphene Documentationに従って2番目のブラウザを追加しました。 これまでのところすべてが機能しています。
問題: 両方のブラウザがインジェクションされているテストを実行すると、クラスのテストが実行される前に両方が起動されています。 2番目のブラウザを使用する前にいくつかのテストが存在する可能性があるため、すでにタイムアウトしている可能性があります。 もちろん、私はSelenium Grid Settingsを決して(あるいは非常に遅く)タイムアウトによってブラウザを閉じるように設定できますが、それは解決策にはなりません。
WebDriverがまだ起動していることを確認し、Droneで再起動する方法はありますか?
ドローンなしドライバーが(e.g. like this)を終了して新しいインスタンスを作成するかどうかを確認するだけで済みます。しかし、私はそれをDrone経由で注入したい。
最高のケースでは、Droneがブラウザを開いたり、テストが終了するまでブラウザを開いたままにしておくべきときを定義できるようにしたいと考えています。 それができないなら、それを再起動する方法で十分でしょう。
Arquillinan Grapheneの詳細情報:http://www.testautomationguru.com/selenium-webdriver-automation-using-arquillian-framework/ – vins