Es scheint, dass es nicht genommen werden kann. Sie können nicht "zu diesem Element scrollen", weil Sie es überhaupt nicht bekommen können. Ich habe richtig gewischt, als ich es getan habe, aber ich kenne die richtige (stabile) Methode nicht.
Ich konnte es bis vor einiger Zeit mit einer Funktion vom Typ findElement abrufen, aber jetzt sieht es so aus
python
appiumDriver.switchTo().alert().accept();
//appiumDriver ist eine Instanz von AppiumDriver
Wenn Sie den Bildschirm mit Webview anzeigen oder den Bildschirm basierend auf den Informationen aus dem Netzwerk anzeigen, ist das Laden möglicherweise nicht bis zum Timeout abgeschlossen. Sie können Gewichte normal hinzufügen, aber wenn Sie es mehrmals versuchen, können Sie Zeit sparen. Aber normalerweise solltest du darüber nachdenken, warum es so schwer ist.
python
/*
*Eine Funktion, die nur die Ausnahme des Schlafes drückt
*/
static public void sleep(int millis) {
try {
Thread.sleep(millis);
} catch (Exception e) {
//Da es sich nur um ein Gewicht handelt, besteht die Ausnahme darin, nur die Stapelspur zu löschen und sie entsprechend zusammenzudrücken
e.printStackTrace();
}
}
/**
* try find element /retry/ times.
* @param by
* @param retry
* @return
*/
public WebElement findElementByXPathSometime(final String by, final int retry){
int count;
RuntimeException ex=null;
WebElement elem;
for(count = 1;count<=retry;count++) {
try {
logger.debug("try to get element : " + by.toString());
//log4j logger
elem = appiumDriver.findElementByXPath(by);
//appiumDriver ist eine Instanz von AppiumDriver
return elem;
}catch(RuntimeException e) {
ex = e;
logger.debug("failed to get element");
sleep(5000);
}
}
Es gibt ein Element, auf das WebElement # click () nicht reagiert. Möglicherweise reagiert es nicht auf die Elemente in Webview. Gehen Sie also wie folgt vor:
python
WebElement element = findElementByXPathSometime(AppElements.SETTING,20);
new TouchAction(appiumDriver).tap(element).perform();
//appiumDriver ist eine Instanz von AppiumDriver
Dies war nicht mehr möglich. Aus irgendeinem Grund kann ich das Element mit "AppiumDriver # findElementBy Hogehoge ()" nicht finden.
python
(new TouchAction(appiumDriver)).tap(123, 456).perform();
//Tippen Sie gewaltsam auf das Textfeld
sleep(1000);
appiumDriver.getKeyboard().pressKey("nyuuryokusitaimoziretu");
Wenn die harte Tastatur im iOS-Simulator aktiviert ist, wird die weiche Tastatur nicht angezeigt, sodass "AppiumDriver # getKeyboard ()" fehlschlägt. Unbequemlichkeit.
Recommended Posts