Quelqu'un a un exemple de travail comment manipuler avec le mode avion dans Appium pour Android? Appim docu n'est pas complet pour ce sujet pour une raison quelconque, aucune des méthodes proposées ne fonctionne, avec "cela devrait fonctionner ...". Je suis bloqué avec le mode avion.
5 Réponses :
En fait, je ne suis pas familier avec Appium, mais vous n'avez pas mentionné si vous avez cherché des solutions en dehors de la documentation appium.io. Je suppose que driver.toggleAirplaneMode ()
n'a pas fonctionné pour vous?
Dans ce cas, avez-vous essayé de convertir le code Python en cette réponse de 2016 ?
# To enable/disable flight mode def enableFlightMode(self,context): driver.mobile.set_network_connection(driver.mobile.AIRPLANE_MODE) driver.implicitly_wait(10) if driver.network_connection == 1: self.report_pass("The network connection is disabled in the mobile and flight mode is active.") else: self.report_fail("The flight mode is not active yet!")
Selon la documentation appium, vous pouvez basculer le mode avion comme indiqué ci-dessous.
driver.toggleAirplaneMode();
La documentation Appium contient une jolie une introduction solide a > sur la façon de changer le type de connexion.
driver.getConnection ()
vous renverra l'état actuel et vous pourrez ensuite le changer pour celui dont vous avez besoin.
Remarque: la modification de l'état du mode avion sur de vrais appareils ne fonctionne que pour Android 6 et les versions antérieures
La documentation Appium est incomplète sur de nombreux problèmes, mes deux méthodes de travail pour gérer le mode avion et le wifi sont ici:
@SuppressWarnings("rawtypes") public void pressFlightMode(int waitingTime){ if (isIOS()) { //should be implemented } else { try { ((AndroidDriver)driver).toggleAirplaneMode(); sleep(waitingTime); } catch (Exception e ) { System.out.println("Error turning on flight mode."); } } } @SuppressWarnings("rawtypes") public void pressWifi(int waitingTime){ if (isIOS()) { //to be implemented } else { try { ((AndroidDriver)driver).toggleWifi(); sleep(waitingTime); } catch (Exception e ) { System.out.println("Error turning off flight mode."); } } }
Dans la dernière version d'Android, l'autorisation est désactivée pour activer et désactiver le mode avion, mais vous pouvez le faire en utilisant les commandes ci-dessous Dans le dernier client Java Appium, vous pouvez le faire en utilisant
Pour désactiver le Wi-Fi et les données sous Android:
driver.setConnection (nouveau ConnectionStateBuilder (). withWiFiDisabled (). withDataDisabled (). build ());
Pour activer le WiFI et les données sous Android: driver.setConnection (nouveau ConnectionStateBuilder (). withWiFiEnabled (). withDataEnabled (). build ());
Cette question a été répondue ici. Réponse: -comment automatiser le mode avion dans l'automatisation appium