Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在Appium中禁用Android设备上的wi-fi?_Java_Automation_Appium - Fatal编程技术网

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

Java 如何在Appium中禁用Android设备上的wi-fi?,java,automation,appium,Java,Automation,Appium,在我们的测试用例中:我需要在某个特定点/操作禁用Wi-Fi 我已核实: driver[deviceIndex].setConnection(Connection.NONE); assertEquals(Connection.ALL, driver[deviceIndex].getConnection()); 但它什么也没做 我的期望是“关闭wi-fi”并保持移动数据打开 当前代码未执行任何操作。您需要将Apache公共语言添加到项目中。 您需要将Apache公共语言添加到您的项目中。 在app

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

我已核实:

driver[deviceIndex].setConnection(Connection.NONE);
assertEquals(Connection.ALL, driver[deviceIndex].getConnection());
但它什么也没做

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


当前代码未执行任何操作。

您需要将Apache公共语言添加到项目中。

您需要将Apache公共语言添加到您的项目中。

在appium中,只能使用驱动程序切换wifi网络。toggleWifi()方法。这意味着,如果wifi处于打开状态,它会将wifi更改为关闭状态,反之亦然。 要使用toggleWifi()方法,必须使用androidDriver。如果您使用的是AppiumDriver,您可以将其类型转换为AndroidDriver,如下所示

((AndroidDriver) driver).toggleWifi();
您也可以使用setNetworkConnection()方法,但它也有一定的限制。这些限制是:


在appium中,只能使用驱动程序切换wifi网络。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 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);

}

您使用的驱动程序类型是什么?如果你在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 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);

}

酷,然后上面的方法就行了……对吧?或者我需要写其他方法吗?就这样。只需添加常见的语言,它就可以工作了。还有另一种关闭它的解决方案。您可以在代码中执行该命令:adb shell am start-n io.appium.settings/.settings-e wifi offit不起作用,兄弟。添加了依赖项,并使用了与问题中提到的相同的代码,但仍然什么也不做。您使用的是什么版本的appium java客户端?appium版本:1.12.1Cool,然后上述方法将工作……对吗?或者我需要写其他方法吗?就这样。只需添加常见的语言,它就可以工作了。还有另一种关闭它的解决方案。您可以在代码中执行该命令:adb shell am start-n io.appium.settings/.settings-e wifi offit不起作用,兄弟。添加了依赖项并使用了与问题中提到的相同的代码,但仍然没有执行任何操作。您使用的appium java客户端的版本是什么?appium版本:1.12.1我正在使用“AndroidDriver”这一版本并尝试了setConnection,但它没有执行任何操作。自定义UI(Oppo,MI)是否可能出现问题?我正在使用“AndroidDriver”这一个,并尝试设置连接,但它没有执行任何操作。自定义UI(Oppo、MI)是否可能存在问题?