在我们的测试案例中:我需要在某些特定的点/操作上禁用Wi-Fi。
我已验证:
driver[deviceIndex].setConnection(Connection.NONE);
assertEquals(Connection.ALL, driver[deviceIndex].getConnection());
但是它什么也没做。
我的期望是“关闭wi-fi”并保持打开移动数据。
当前代码不执行任何操作。
答案 0 :(得分:0)
您需要将Apache通用lang添加到您的项目中。 https://mvnrepository.com/artifact/org.apache.commons/commons-lang3/3.9
答案 1 :(得分:0)
在appium中,您只能使用 driver.toggleWifi()方法切换wifi网络。这意味着如果它处于开启状态,它将把wifi更改为关闭状态,反之亦然。 要使用toggleWifi()方法,您必须使用androidDriver。如果您使用的是AppiumDriver,则可以按如下所示将其转换为AndroidDriver。
((AndroidDriver) driver).toggleWifi();
您也可以使用 setNetworkConnection()方法,但是它也有一定的局限性。限制是:
答案 2 :(得分:0)
您使用的驱动程序是什么类型?如果您使用的是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);
}