comment traiter les alertes android à l'aide de appium
Comment puis-je traiter les alertes dans un Android application web à l'aide de Appium serveur (1.0.1) et le kit SDK d'Android?
Le code ci-dessous ne fonctionne pas sur android:
driver.switchTo().accept().alert();
Message d'erreur:
> -modal window does not get closed
- Pouvez-vous afficher plus de détails de l'erreur?
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin pour obtenir l'Alerte avant d'essayer de l'accepter
C'est du code à partir de certains des Appium Client Java De Tests:
Cela devrait fonctionner la plupart du temps.
Si
accept()
ne fonctionne pas, remplacez ladriver.switchTo().alert();
etalert.accept();
avec le code pour trouver le bouton, puis cliquez sur elle.Si elle n'est pas de trouver le bouton envelopper
findElementBy(Method)
code dans un try/retry bloc, et puis cliquez sur elle.Le meilleur moyen est d'utiliser le appium inspecteur. Cliquez sur l'élément et la copie de la id de ressource d'elle. L'utilisation de cette ressource id dans findElement(Par.id()) méthode.
C'est pour Android. Pour une utilisation régulière, vous pouvez utiliser
Quelques alertes peuvent être natif Android alertes, ne sont pas générées par un navigateur. Dans ce cas, le code suivant:
Alert alert = driver.switchTo().alert(); alert.accept();
peut lancer:
WebDriverException: unknown error: unhandled inspector error: {"code":-32603,"message":"No JavaScript dialog to handle"}
De gérer une telle alerte, il suffit de passer à l'application native contexte, faire les actions nécessaires, et puis revenez dans le navigateur:
(241,320) ce sont des X & Y c coordonnées d'alerte
Cela fonctionne parfaitement pour moi
Appium est livré avec une fonctionnalité par défaut de l'accepter, de rejeter les alertes
s'il vous Plaît utilisez le code ci-dessous, Ajouter un peu d'attente avant de cliquer sur le Bouton OK.
Après que passe le chemin xpath de vous Bouton OK.
wait()
nécessaire ici? Ne vous contentez pas de poster un code, ajouter une explication pourquoi il fonctionne.