4
votes

Dans Appium, comment faire défiler et valider l'ensemble d'éléments requis sont disponibles dans l'écran Android à l'aide d'une méthode Java?

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?


7 commentaires

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 fichier pom.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?


3 Réponses :


0
votes

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.


0 commentaires

0
votes

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 ** \ "));");

Merci.


0 commentaires

0
votes

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");
    }


0 commentaires