如何在 Appium 中禁用 Android 设备上的 wi-fi?

在我们的测试用例中:我需要在某个特定点/操作禁用 Wi-Fi。

我已经验证:

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

但它什么也没做。

我的期望是“关闭 wi-fi”并保持移动数据开启。

当前代码没有执行任何操作。


森林海
浏览 160回答 3
3回答

慕村225694

您需要将 Apache 通用语言添加到您的项目中。 https://mvnrepository.com/artifact/org.apache.commons/commons-lang3/3.9

慕慕森

在 appium 中,您只能使用driver.toggleWifi()方法切换 wifi 网络。这意味着如果它处于开启状态,它将把 wifi 更改为关闭状态,反之亦然。要使用 toggleWifi() 方法,您必须使用 androidDriver。如果您使用的是 AppiumDriver,您可以将其类型转换为 AndroidDriver,如下所示。((AndroidDriver) driver).toggleWifi();您也可以使用setNetworkConnection()方法,但它也有一定的局限性。限制是:

猛跑小猪

您使用的驱动程序类型是什么?如果你在 Android 上工作,你应该使用 AndroidDriver。这是我的工作代码。// 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 airplanepublic void turnOnAirplaneMode() {    driver.setConnection(Connection.AIRPLANE);}// turn on datapublic void turnOnMobileData() {    driver.setConnection(Connection.DATA);}// turn on wi-fipublic void turnOnWiFi() {    driver.setConnection(Connection.WIFI);}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java