2017-08-28 1 views
0

test d'applications mobiles Android avec appiumv1.6.5 et java-client-3.2.0. Je ne peux pas accéder aux éléments Web dans la page d'accueil de l'application mobile. La page d'accueil est chargée, mais il y a une autre fenêtre chargée disant "session expirée". Pas moyen de déplacer cette nouvelle fenêtre.test mobile avec appium/Android - ne peut pas accéder WebElements dans l'application mobile

driver.switchTo().activeElement()/driver.switchTo().alert() donne:

org.openqa.selenium.WebDriverException: méthode n'a pas encore été mis en œuvre

J'ai vérifié la source de la page, quand je l'appelle driver.getPageSource(), il est suspendu. Je dois fermer l'application mobile via l'appareil pour passer à l'étape suivante du code.

+0

Voici mon code – Sanjeewa

+0

capabilities = DesiredCapabilities.android(); capabilities.setCapability (MobileCapabilityType.PLATFORM, Platform.ANDROID); capabilities.setCapability ("platformName", Platform.ANDROID); capabilities.setCapability ("deviceName", "emu"); \t capabilities.setCapability ("app", app.getAbsolutePath()); capabilities.setCapability ("appPackage", "com.faber.worker"); capabilities.setCapability ("appActivity", "com.faber.worker.MainActivity"); driver = new RemoteWebDriver (nouvelle URL ("http://127.0.0.1:4723/wd/hub"), capacités); \t Thread.sleep (15000); driver.switchTo(). ActiveElement(). Click(); – Sanjeewa

+0

Quel est le texte du bouton que vous voulez cliquer sur cette fenêtre? – SaiPawan

Répondre

0

Avec la nouvelle interface utilisateur Automator, vous n'avez pas besoin d'utiliser la méthode switchTo. Assurez-vous que l'Android System WebView de votre appareil est à jour, sinon vous devez le mettre à jour via Google PlayStore. Une fois que vous avez mis à jour Android System WebView et que vous essayez de capturer les éléments en utilisant UIAutomator comme vous le faites normalement, vous devriez voir les éléments dans le webview dans la capture d'écran de UIAutomator.

+0

Merci Vinod, lorsque j'ai essayé d'afficher la page d'accueil via appiumv1.6.5 (démarrer New session -> startSession) en utilisant le code suivant {"platformName": "Android", "deviceName": "emulator-5554", "app": "D: \\ sdk-tools-windows-3859397 \\ Faber.apk", "appPackage": "com.faber.worker", "AppActivity": "com.faber.worker.MainActivity" } il n'est pas chargé la page d'accueil complète. Comme il faut plus de 10 secondes pour charger mon application de test mobile. Appium l'attend avant 10 secondes. Lorsque j'essaie de "Rafraîchir la source et la capture d'écran" après avoir complètement chargé la page d'accueil, elle est suspendue. De l'aide? – Sanjeewa

+0

Vous devez d'abord vérifier si Automator détecte vos éléments ou non, que vous ne pouvez pas savoir directement en exécutant du code. Arrêtez votre exécution. Ouvrez votre dossier Android SDK et ouvrez uiautomator à partir de cela. Capturez l'écran, il devrait énumérer tous les éléments qui sont visibles sur l'appareil avec l'image – Vinod

+0

Salut Vinod, Oui, il est de détecter la page d'accueil avec cette fenêtre popup/alertes. Aucun problème pour voir et obtenir des noms d'éléments. Mais à partir de mon test, je ne peux pas accéder à ces éléments. Il dit que les éléments ne sont pas là. quand j'essaye, driver.findElementByXPath ("(// android.widget.TextView [@ conte nt-desc = 'Faber']) [1]").Cliquez sur(); – Sanjeewa