在 Espresso 中禁用/接受测试存储服务

Posted

技术标签:

【中文标题】在 Espresso 中禁用/接受测试存储服务【英文标题】:Disable/accept test storage service in Espresso 【发布时间】:2020-04-22 10:31:06 【问题描述】:

可以在androidX Test 1.3.0 alpha04 release notes中看到:

在测试服务中包含测试存储服务

不幸的是,这使得标准 connectedDebugAndroidTest 失败,因为正在显示此屏幕:​​

选择允许 TestServices 访问的内容

这需要我进行交互才能继续进行 UI 测试。

尽管1.3.0-beta01 已经可用,这让我无法忍受已经很老的1.3.0-alpha03 工件。

问题:

如何通过 gradle 命令或在testOptions 配置中接受此权限?不知何故,我在文档中既找不到任何迹象,也找不到类似问题的网络帖子。


更新

Yuki Hamada,Espresso 团队的工程师,confirmed,这是一个问题,他们正在解决这个问题。

【问题讨论】:

【参考方案1】:

您可以通过添加 Gradle 任务来运行一些 ADB 命令来强制执行此操作,但GrantPermissionRule 是正确的方法。

【讨论】:

抱歉,这个答案含糊不清,没有说明如何做到这一点。这可能是评论,但肯定不是答案。

以上是关于在 Espresso 中禁用/接受测试存储服务的主要内容,如果未能解决你的问题,请参考以下文章

Espresso UI 测试截图 - 没有写入外部存储权限的应用程序

Espresso 测试禁用动画

我们可以在 aws 设备场中为 Android espresso 测试禁用一个对话框吗

以编程方式测试是否在Android 10+中禁用了旧版外部存储访问

如何为测试禁用 AWS 参数存储自动配置?

服务中的模拟存储库,节点 TypeScript