浓缩咖啡测试:以编程方式选择在智能锁保存密码时“从不”

5
在Android上进行espresso UI测试并尝试绕过智能锁屏。问题是我们正在Firebase上测试,不能关闭设备的整个智能锁屏,因为它们在云中(我不相信)。弹出窗口也不是应用程序本身的一部分,因此我无法使用Stetho或Layout Inspector获取ID。我认为它是另一个应用程序(或操作系统功能)在我们的应用程序上方绘制。
如何在espresso中点击“不,谢谢”或“永不”按钮?

Smart Lock


您应该能够在“设置”>“Google”>“智能锁定密码”下关闭设备上的智能锁功能。 - Steven
类似onView(withText("NO THANKS")).perform(click())这样的语句可行吗?或者是no thanksNo Thanks或者No thanks(不确定它如何处理大小写)。 - Bartek Lipinski
@StevenSoneff,我正在Firebase上进行测试,因此手机在云中。我不知道是否可以通过编程方式更改手机设置。 - Jason
@BartekLipinski 弹出窗口在另一个应用程序中。我认为它不存在于视图层次结构中。 - Jason
请查看UIAutomator(https://developer.android.com/training/testing/ui-testing/uiautomator-testing.html)。它与Espresso配合良好,并使您能够操作超出您控制范围的UI。 - jdonmoyer
@StevenSoneff,Jason,你们找到跳过Firebase中Smart Lock保存凭据对话框的解决方案了吗?我也遇到了同样的问题。 - vsvydenko
1个回答

1
你可以使用uiautomator。 gradle:
androidTestCompile 'com.android.support.test.uiautomator:uiautomator-v18:2.1.3'

将其添加到您的代码中:
waitSeconds(10) // Waiting for smartlock window
val uiDevice = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation())
val currentPackageName = uiDevice.currentPackageName
if (currentPackageName != "your.app.package") {
     uiDevice.pressBack()
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接