Warten Sie, bis element laden, wenn das testen einer iOS-app mit Appium und Ruby?
Ich bin das testen einer iOS-app, und nicht interagieren können, mit den Elementen nach der Anmeldung, weil Appium ist zu schnell.
Kann jemand bitte zeigen Sie mir ein Beispiel mit einem WebDriverWait Stil des Wartens für Appium iOS testen? Vorzugsweise in Ruby.
Dank.
- Auf der Suche nach genau die gleiche entweder in ruby oder js.
- Ich bin auch auf der Suche für die gleiche Sache. Für android, sowas wie
browser.driver.manage.timeouts.page_load = 30
scheint zu funktionieren. Auf iOS eine Fehlermeldung erscheint, die sagen, dass Appium noch nicht realisiert, dass...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dieser arbeitete für mich, aber ich bin neu in Appium
sleep(10)
ist ähnlich wie diese. Wie ist das anders ?wait
mittimeout => 10
wird die Verzögerung der Ausführung bis zu 10 Sekunden, aber Sie hören auf zu verzögern, wenn die erwartete Bedingung wahr wird (sobald das element angezeigt wird, in diesem Fall). Aber einsleep(10)
verzögert die Ausführung exakt für 10 Sekunden, unabhängig.Verwende ich diese Konstruktion warten einige element wird angezeigt:
Natürlich kann man nicht nur durch
:xpath
.Außerdem können Sie einstellen, timeout:
Hier ist die, die ich kam mit, aber in java. Ein wenig gezogen, aber es führt Sie durch, wie sollte es warten. Es wird eine Wartezeit in Sekunden und überprüfen Sie dann jede Sekunde zu sehen, wenn das element vorhanden ist, noch. Einmal hat sich das element stellt sicher, dass es sichtbar ist, so ist es mit interagiert werden kann. "Fahrer" ist offensichtlich die WebDriver-Objekt.
Ich diese Lösungen in appium java:
Thread.sleep(1000);
WebDriverWait wait = new WebDriverWait(driver, 30);
wait.until(ExpectedConditions.elementToBeClickable(By.name("somename")));