【问题标题】:Marshmallow Runtime Permissions in Unit Test单元测试中的 Marshmallow 运行时权限
【发布时间】:2016-08-19 07:11:01
【问题描述】:

我正在创建一个需要访问设备外部存储的应用。我正在扩展 AndroidTestCase 的测试套件中编写单元测试,并且在尝试访问我需要的文件时遇到问题。

我认为这可能是由于单元测试没有正确的权限这样做。我已经在应用程序清单中说明了权限,但是我是否需要在测试套件中执行任何操作以允许外部存储访问,因为我的目标是 Android 6?我看过一些相关的帖子,但似乎没有直接解决这个问题。

编辑: 我找到了一个对我有用的解决方法......因为我还没有开始我的应用程序的 UI 开发,所以我只是在我的启动类的 onCreate() 方法中添加了代码并请求了权限。这解决了问题,我现在可以运行访问外部存储的测试,但是将来如何避免这种情况呢?肯定有一个适当的方法来解决这个问题吗?

【问题讨论】:

  • 我也面临同样的问题

标签: android unit-testing permissions android-6.0-marshmallow


【解决方案1】:

您可以尝试使用 UiAutomator 框架,它允许您在设备上的任何位置导航并与任何 UI 元素进行交互。

UiObject allowButton = mUiDevice.findObject(new UiSelector().text("Allow"));
allowButton.click();

【讨论】:

  • 我正在运行的测试是严格的单元测试,没有关联的 UI
猜你喜欢
  • 2015-12-23
  • 2016-07-16
  • 2016-02-29
  • 1970-01-01
  • 1970-01-01
  • 2018-05-08
  • 2016-03-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多