进行 UI 测试时转动 on/off 位置 Android

Turn on/off location when doing UI Tests Android

我正在尝试根据我要测试的内容打开或关闭设备的位置。

我已经研究过 Test-Butler 但事实证明我无法使用它,因为:

Test Butler helper app requires an emulator image with stock Android else it won't install, therefore it will not work with non-stock emulator images such as ones with Google APIs or Google Play! and

我正在我的应用程序中实现Google地图等等GoogleAPI和google游戏是在我的设备上,所以这看起来会导致错误崩溃并且不是我的情况的解决方案。

问题:测试前打开或关闭应该注意什么?

您必须检查位置是否已启用,只有在未启用时才启用。

您可以像这样检查位置是否已启用:

public boolean isLocationEnabled(Context context) { 
    int locationMode = 0; 
    String locationProviders;
    try { 
        locationMode = Settings.Secure.getInt(context.getContentResolver(), Settings.Secure.LOCATION_MODE); 
    } catch (SettingNotFoundException e) { 
        e.printStackTrace(); 
        return false; 
    } 
    return locationMode != Settings.Secure.LOCATION_MODE_OFF; 
} 

如果上面returnsfalse那么就可以enable了。然后做你的“测试”。