Ich bin nicht in der Lage, ein Element zu finden, trotz der Tatsache, dass die Verwendung von Appium Inspector das Element mit dem gleichen Locator befindet, den ich im Code verwende.Kann ein Element nicht mit Appium in ios finden
By by = By.xpath("//UIATextView[@value='hey!!!!!']");
boolean result;
do{
device.swipeUp();
result = waitUntil(ExpectedConditions.visibilityOfElementLocated(by));
}while (!result);
Wo ist mein WAITUNTIL definiert als:
public boolean waitUntil(ExpectedCondition<WebElement> condition){
WebDriverWait wait = new WebDriverWait(device.getDriverWrapper().getIosDriver(),5);
wait.withTimeout(1,TimeUnit.SECONDS);
try {
wait.until(condition); // i wait until the condition will be met (with a time out of 1 seconds) and return true
return true;
}
catch (Exception e) {
return false; // if after the timeout of 1 seconds has reached then i retrun false
}
}
Ich sehe, dass das Gerät, obwohl das Element dargestellt wird Streichen nach oben hält. Irgendeine Idee?
Könnten Sie bitte die Definition von 'waitUntil' in Ihrem Code teilen? B'coz zumindest ist dies sicher, dass diese Methode in Ihrem Fall immer "falsch" zurückkehrt. – nullpointer
public boolean waitUntil (ExpectedCondition Bedingung) { WebDriverWait wait = neuer WebDriverWait (device.getDriverWrapper(). GetIosDriver(), 5); wait.withTimeout (1, TimeUnit.SECONDS); versuchen { wait.until (Zustand); // Ich warte bis die Bedingung erfüllt ist (mit einer Zeit von 1 Sekunden) und gebe true zurück return true; } catch (Ausnahme e) { Rückgabe false; // Wenn nach dem Timeout von 1 Sekunden erreicht wurde, trenne ich falsch } } –
Shay12345678
Teilen Sie die 'swipeUp()' Methode Implementierung bitte auch. Fangen Sie bitte auch nicht 'Exception' ein, es sei denn, Sie haben etwas ganz unter Kontrolle und möchten genau sein. – nullpointer