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.
3 Réponses :
Vous devez ajouter des langages communs Apache à votre projet. https://mvnrepository.com/artifact/org.apache.commons/ commons-lang3 / 3.9
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 .
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:
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); }
J'utilise "AndroidDriver