Dans mon application Android, je dois faire défiler l'écran vers le bas et valider si les éléments requis (chaque élément individuel) sont disponibles ou non. Comment y parvenir avec une méthode Java?
3 Réponses :
Le bon moyen ici est d'utiliser la stratégie de recherche native d'UIAutomator:
public void isElementPresent(String resourceId) { return androidDriver.findElementsByAndroidUIAutomator("new UiScrollable(new UiSelector() .scrollable(true).instance(0)).scrollIntoView(new UiSelector().resourceId("<your app package name>:id/" + resourceId + "\"))") .size() > 0; }
Il fera défiler la vue vers le bas et vers le haut pour trouver un élément par resourceId
et retourner true
si l'élément est présent.
Utilisez le code suivant pour faire défiler vers le haut et vers le bas en utilisant JAVA.
driver.findElementByAndroidUIAutomator ("new UiScrollable (new UiSelector ()). scrollIntoView (text (\" ** Text you want to Find ** \ "));");
p >
Merci.
Utilisez le code suivant pour faire défiler vers le haut avec java:
public void swipeUp(AppiumDriver<?> appiumDriver, MobileElement fromPosition, MobileElement toPosition) { Dimension size = fromPosition.getSize(); Dimension size1 = toPosition.getSize(); TouchAction swipe = new TouchAction(appiumDriver) .press(ElementOption.element(fromPosition, size.width / 2, size.height - 20)) .waitAction(WaitOptions.waitOptions(Duration.ofSeconds(4))) .moveTo(ElementOption.element(toPosition, size1.width / 2, size1.height / 2 + 30)).release(); swipe.perform(); logger.info("Swipe Success"); }
vous pouvez réaliser le défilement en utilisant cette méthode: stackoverflow.com/questions/49233444/... et après chaque défilement, vous avez validé votre valeur attendue
Merci. Suivre votre approche génère une erreur car "appuyez sur (io.appium.java_client.touch.offset.PointOption) dans TouchAction ne peut pas être appliqué"
La solution était pour java-client 5.x, je ne suis pas sûr de la version java-client que vous utilisez!
Comment vérifier la version du client Java que j'utilise?
Vous pouvez vérifier à partir du dossier
bibliothèque externe
ou du fichierpom.xml
vous pouvez essayer ceci, la solution pour
java-client 6.x
ezyautomation.blogspot.com/2018/08/...Merci de partager ceci et apprécions votre aide. En appelant le swipeVertical / SwipeHorizontal au lieu de donner les valeurs et la durée, y a-t-il un moyen de faire défiler l'écran jusqu'à ce que je trouve un élément spécifique?