无法使用Appium打开和关闭位置服务

时间:2018-01-11 07:46:31

标签: appium

我需要在测试前启用和禁用Android中的位置服务。我尝试了以下解决方案但没有任何效果。

场景:1 ADB命令

adb shell设置放置安全的location_providers_allowed + network,gps adb shell设置放置安全的location_providers_allowed -network,gps

这些命令有时会工作,但并非所有时间都在工作,所以我的测试很多次都会因为禁用而失败。

场景:2 toggleLocationService()方法

public static void enableAndDisableLocation(AppiumDriver<WebElement> driver) {
        ((AndroidDriver<WebElement>) driver).openNotifications();
        ((AndroidDriver<WebElement>) driver).toggleLocationServices();
    }

是否有其他解决方案可以使用Appium在Android中启用和停用位置服务。此外,我想在启用和禁用之前了解位置的状态。

我正在使用Java客户端5.0.4 在Android Nougat中进行测试。

1 个答案:

答案 0 :(得分:1)

启用:

adb shell settings put secure location_providers_allowed +gps
adb shell settings put secure location_providers_allowed +network

禁用:

adb shell settings put secure location_providers_allowed -gps
adb shell settings put secure location_providers_allowed -network