グリッド上で複数の Selenium Firefox テストを並行して実行しているときに、フォーカス イベントの処理が正しく機能していないことに気付きました。各テストを個別に実行し、OS に焦点を当てると、100% の確率でテストに合格することを確認しました。また、Chrome を使用してグリッド上でテストを並行して実行しましたが、問題は発生していません。
Google グループで次のスレッドを見つけました。これは、xvfb の個別のインスタンスで各ブラウザーを起動することが実行可能な解決策である可能性があることを示唆しています。 https://groups.google.com/forum/?fromgroups#!topic/selenium-developers/1cAmsYCp2ho%5B1-25%5D
テストの一部が失敗しているのは、プロジェクトで使用されている jquery 日付ピッカーが原因です。日付ピッカーはフォーカス イベントで起動します。複数の Selenium テストが同時に実行されているため、webdriver テストは .click() コマンドを実行しますが、フォーカスは日付ピッカー ウィジェットが表示されるほど長くはありません。
.focus(function(){ $input.trigger("フォーカス"); });
- jQuery タイムピッカー アドオン
- 投稿者: トレント・リチャードソン [ http://trentrichardson.com]
私の質問は、誰かがこれを以前に見たことがあり、いくつかの Firefox プロファイル設定で解決したかどうかです。問題に影響を与えなかった次のプロパティをロードしようとしました。
profile.setAlwaysLoadNoFocusLib(true);
そのプロパティを有効にし、Remote Driver Firefox Profile にロードした場合と同様に、テストは失敗します。
フォーカス イベントが常に 100% トリガーされるようにする方法、または複数の Firefox ブラウザーがフォーカスをめぐって競合する問題を解決する方法が必要です。Chrome にはこれらの問題が表示されないことを考えると、Firefox のバグとも見なされるのではないかと思います。
ありがとう!