0

自動セレン テストをセットアップしようとしていますが、複数のブラウザーでテストを実行する方法がわかりません。オンラインで読んだことに基づいて、複数のブラウザでセレングリッドを起動して実行し、テストを正常に実行しました。

すべてのブラウザーを次々に、または並行して実行できるように、junit テストをセットアップする方法を見つけようとしています。これが私のコードです:

selenium = new DefaultSelenium("grid.host.here", "4444", "*firefox", "http://host.com");

このコードでは、firefox のみが実行されます。オブジェクトの新しいインスタンスを作成せずに、firefox、iexplore、および safari を実行するように指示するにはどうすればよいですか? PHP と Python で、ブラウザーの配列を渡すことができ、それらを次々に実行する例を見てきました。Java に関するものは見つかりませんでした。

4

1 に答える 1

3

複数の DefaultSelenium オブジェクトを作成する必要があります。これは、ブラウザ セッション (つまり、グリッド RC への接続) を維持するものです。Selenium Grid には、TestNG でこれを行う例が付属しています。jUnit を使用する必要がある場合は、parallel-junit で成功する人を見てきました。

その核心では、魔法は起こっていません。N 個の RC ワーカーがあるため、ワーカーを十分に活用するには、テストで N 個の接続を確立する必要があります。N + 1 を接続しようとすると、クライアントは RC が使用可能になるまで単純にブロックします。それを処理するようにグリッド設定を調整してください。RC が使用可能になる前にクライアントがタイムアウトする可能性があり、これはトリッキーな状況を生み出す可能性があります。

于 2010-08-12T11:36:14.347 に答える