2016-03-22 8 views
0

Googleで商品を検索し、いくつかのフィルタを適用する簡単なシナリオがあります。ここで、第2のフィルタを適用する間、第1のフィルタ処理の選択が完了するまで待つ必要がある。要素がポイントでクリック可能でない

たとえば、Googleで「Galaxy」を検索し、結果ページからショッピングに移動し、「Samsung Note」をフィルタリングし、2番目のフィッター「New items」を適用します。

2番目のフィルタを適用しようとすると、常に以下のエラーで失敗します。

Error: unknown error: Element is not clickable at point (78, 445). Other element would receive the click: <div id="flyr" class="flyr-o" style="width: 927px; height: 5012px; top: 120px;"></div> 

私はsetTimeout()と1000sの遅延を行うことができますが、正常に動作します。しかし、この手作業による待機をGUI自動化の悪い習慣の1つにすることは、テストを非決定的にするでしょう。 webdriver.ioでこれを処理する最良の方法は何ですか?

PS:私はwaitUntilを含むwaitFor *コマンドを試しましたが、何も助けてくれないようです。

答えて

0

私はあなたのテストを手動で実行し、div#flyrブロックがページの下部に隠れていることを発見しました。私はそれが何であるか、またはそれが隠れているか分からないが、あなたはそれを待たなければならない。これは隠されるまで待つべきです(1000ms)。

browser.waitForVisible(`div#flyr`, 1000, true);