1

現在、gwt を使用した GUI でのセレン テストに問題があります。

アプリケーションには 2 つのセクション (フィルターとグリッド) が含まれています。私たちのテストは、NoSuchElementException で失敗することがあります。

クレイジーは次のとおりです。ブレークポイントを使用してEclipseでテストを停止し、Firefoxのfirebugまたはその他のアドオンでページを検査します。わかりました-目的の要素が見つかりません。しかし(アプリケーションを再起動したり、Eclipseで他の変更を加えたりすることなく)、もう一度試して要素を検索すると、そこにあり、Eclipseで再開すると、テストは緑色になります。私にとっては、Firefox の同期の問題のようです。

明示的な待機コマンド

new WebDriverWait(getDriver(), 10).until(condition);

タイムアウト (10 秒) が発生するという唯一の効果があります。

私が言ったように、テストが緑色になることもあれば、失敗することもあります。

誰かアイデアはありますか?

4

2 に答える 2

0

この問題の回避策があり、これを共有します。次のコードは、明示的な待機コマンドが実行される前に実行されます。

Window window = getDriver().manage().window();
Dimension dimension = window.getSize();
Dimension tmp = new Dimension(dimension.getWidth() - 1, dimension.getHeight());
window.setSize(tmp);
window.setSize(dimension);

ブラウザー ウィンドウのサイズが変更された後、DOM が「同期」状態になることがわかりました。そのため、幅を減らしてから、古い値に戻します。

誰かがより良い提案を持っている場合は、お知らせください;-)

于 2013-10-17T15:54:36.727 に答える
0

サーバーからデータ非同期 (RPC) をロードしているようですね。Selenium がデータを探しているとき、データ、つまり UI にデータを表示する要素はまだありません。データベースでのクエリの所要時間やネットワークでの待機時間によって、待機時間はテスト実行ごとに異なる場合があります。

于 2013-10-17T14:01:06.057 に答える