1
votes

Comment désactiver le wifi sur un appareil Android dans Appium?

Dans notre cas de test: je dois désactiver le Wi-Fi à un moment / une action spécifique.

J'ai vérifié:

driver[deviceIndex].setConnection(Connection.NONE);
assertEquals(Connection.ALL, driver[deviceIndex].getConnection());

Mais cela ne fait rien.

Je m'attends à "désactiver le Wi-Fi" et à garder les données mobiles ACTIVÉES.

Le code actuel ne fait aucune action.


0 commentaires

3 Réponses :


0
votes

Vous devez ajouter des langages communs Apache à votre projet. https://mvnrepository.com/artifact/org.apache.commons/ commons-lang3 / 3.9


7 commentaires

Cool, puis la méthode ci-dessus fonctionnera .... non? ou dois-je écrire une autre méthode?


C'est tout. Ajoutez simplement les langages communs et cela devrait fonctionner. Il existe également une autre solution pour l'éteindre. Vous pouvez exécuter cette commande dans votre code: adb shell am start -n io.appium.settings / .Settings -e wifi off


ça ne marche pas bro. Ajout de la dépendance et utilisation du même code que celui mentionné en question, ne faisant toujours rien.


Quelle est la version du client java appium que vous utilisez?


Version Appium: 1.12.1


Pas la version appium. La version du client java de l'appium. javadoc.io/doc/io.appium/java-client/ 7.0.0


continuons cette discussion dans le chat .



0
votes

Dans l'appium, vous ne pouvez basculer le réseau wifi qu'en utilisant la méthode driver.toggleWifi () . Cela signifie que le wifi passera à l'état désactivé s'il est activé et vice versa. Pour utiliser la méthode toggleWifi (), vous devez utiliser androidDriver. Si vous utilisez AppiumDriver, vous pouvez le transtyper sur AndroidDriver comme suit.

((AndroidDriver) driver).toggleWifi();

Vous pouvez également utiliser la méthode setNetworkConnection () , mais elle a également certaines limites. Les limitations sont:

 Limitation de l'utilisation de setNetworkConnection


0 commentaires

0
votes

Quel type de pilote utilisez-vous? Vous devez utiliser AndroidDriver si vous travaillez sur Android. Voici le code de travail pour moi.

// turn on all (data and wi-fi)
public void turnOnAllData() {
    driver.setConnection(Connection.ALL);

}

// turn off all (data and wi-fi)
public void turnOffAllData() {
    driver.setConnection(Connection.NONE);

}

// turn on airplane
public void turnOnAirplaneMode() {
    driver.setConnection(Connection.AIRPLANE);
}

// turn on data
public void turnOnMobileData() {
    driver.setConnection(Connection.DATA);
}

// turn on wi-fi
public void turnOnWiFi() {
    driver.setConnection(Connection.WIFI);

}


1 commentaires

J'utilise "AndroidDriver " celui-ci et j'ai essayé setConnection mais il n'effectue aucune action. Est-ce un problème possible avec l'interface utilisateur personnalisée (Oppo, MI)?