为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

森林海 2022-12-15 16:05:26
在我们的测试用例中:我需要在某个特定点/操作禁用 Wi-Fi。我已经验证:driver[deviceIndex].setConnection(Connection.NONE); assertEquals(Connection.ALL, driver[deviceIndex].getConnection());但它什么也没做。我的期望是“关闭 wi-fi”并保持移动数据开启。当前代码没有执行任何操作。
查看完整描述

3 回答

?
慕村225694

TA贡献1880条经验 获得超4个赞

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


查看完整回答
反对 回复 2022-12-15
?
慕慕森

TA贡献1856条经验 获得超17个赞

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

((AndroidDriver) driver).toggleWifi();

您也可以使用setNetworkConnection()方法,但它也有一定的局限性。限制是:

//img1.sycdn.imooc.com//639ad56f0001d9c616920887.jpg

查看完整回答
反对 回复 2022-12-15
?
猛跑小猪

TA贡献1858条经验 获得超8个赞

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


}


查看完整回答
反对 回复 2022-12-15
  • 3 回答
  • 0 关注
  • 159 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号