1
votes

Activation / désactivation du mode avion par programmation dans Appium pour Android

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.


1 commentaires

5 Réponses :


0
votes

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!")


0 commentaires

1
votes

Selon la documentation appium, vous pouvez basculer le mode avion comme indiqué ci-dessous.

driver.toggleAirplaneMode();


0 commentaires

0
votes

La documentation Appium contient une jolie une introduction solide sur la façon de changer le type de connexion.

L'API Java est ici et ici

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


0 commentaires

0
votes

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


0 commentaires

0
votes

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 ());


0 commentaires