2016-03-22 6 views
0

Ich habe ein einfaches Szenario, das in Google nach einem Produkt sucht und einige Filter anwendet. Hier muss, während der zweite Filter angewendet wird, gewartet werden, bevor die erste Filterprozessauswahl abgeschlossen ist.Element ist nicht anklickbar

Zum Beispiel suche ich nach "Galaxy" in Google, von der Ergebnisseite, navigieren Sie zu Einkaufen, filtern Sie "Samsung Note" und wenden Sie den zweiten Installateur "Neue Artikel" an.

Beim Versuch, den zweiten Filter anzuwenden, schlägt es immer mit einem Unterfehler fehl.

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> 

Ich könnte SetTimeout() und 1000s Verzögerung, es funktioniert gut. Allerdings ist es eine der schlechtesten Praktiken in der GUI-Automatisierung, dieses manuelle Warten zu machen, was den Test nicht-deterministisch macht. Was ist der beste Weg, um dies mit webdriver.io zu behandeln.

PS: Ich habe versucht alle WaitFor * -Befehle einschließlich WaitUntil, scheint nichts zu helfen.

Antwort

0

Ich habe Ihren Test manuell ausgeführt und fand den Block div#flyr, versteckt, am Ende der Seite. Ich bin mir nicht sicher, was es ist oder wann es sich versteckt, aber du musst es abwarten. Dies sollte warten, bis es versteckt ist (1000ms).

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