如何禁用 Android Oreo 中用于 espresso 测试的新自动填充功能

2024-04-17

在 Android 设备上运行测试sdk 26导致他们因为新的失败Autofill https://developer.android.com/guide/topics/text/autofill.html当 espresso 尝试单击字段时隐藏字段的功能。

我在 firebase 测试实验室上运行我的测试,因此我无法在我的测试设备上手动禁用它们。

一些图片:

1. 单击用户名字段之前,密码可见。

2. 单击用户名字段后,此自动填充对话框将隐藏密码字段:

3. 登录后会显示另一个填充对话框:

Espresso 现在无法单击密码字段,因为自动填充对话框隐藏了我的字段并且fail.

Using AutofillManager#disableAutofillServices()仅禁用#2。对话框但是#3。仍然在那里。

如何在测试设备上禁用自动填充?


根据文档,您可以使用禁用自动填充服务AutofillManager#disableAutofillServices() https://developer.android.com/reference/android/view/autofill/AutofillManager.html#disableAutofillServices() API:

如果调用此 API 的应用程序启用了自动填充服务,它们将被禁用。

Usage:


    val autofillManager: AutofillManager = context.getSystemService(AutofillManager::class.java)
    autofillManager.disableAutofillServices()

你可以在以下位置执行此操作@Before您的测试步骤。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何禁用 Android Oreo 中用于 espresso 测试的新自动填充功能 的相关文章