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

Posted

技术标签:

【中文标题】浓缩咖啡测试:以编程方式在智能锁保存密码上选择“从不”【英文标题】:Espresso Testing: programmatically select 'never' on smart lock save password 【发布时间】:2017-11-14 06:09:10 【问题描述】:

android 上进行 espresso UI 测试并试图绕过智能锁屏。问题是我们正在 Firebase 中进行测试,并且由于它们在云中(我不相信),因此无法关闭整个设备上的智能锁。弹出窗口也不是应用程序本身的一部分,因此我无法使用 Stetho 或布局检查器获取 id。我相信这是在我们的应用之上绘制的另一个应用(或操作系统功能)。

如何在 espresso 中点击“不,谢谢”或“从不”按钮?

【问题讨论】:

您应该能够在设置 > Google > Smart Lock for Passwords 下打开设备上的 Smart Lock 功能? 并且不会像onView(withText("NO THANKS")).perform(click()) 这样的工作吗?或者 no thanksNo ThanksNo thanks (不确定它如何处理大写) @StevenSoneff,我在 firebase 上进行测试,所以手机在云端。我不知道我是否可以通过编程方式更改手机设置。 @BartekLipinski 弹出屏幕在另一个应用程序中。我认为它不存在于视图层次结构中 查看 UIAutomator (developer.android.com/training/testing/ui-testing/…)。它与 Espresso 配合得很好,让您能够操作您无法控制的 UI。 【参考方案1】:

你可以使用 uiautomator

分级

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()

【讨论】:

以上是关于浓缩咖啡测试:以编程方式在智能锁保存密码上选择“从不”的主要内容,如果未能解决你的问题,请参考以下文章

指纹读取器浓缩咖啡测试

如何在我的浓缩咖啡测试中通过 id 查看?

浓缩咖啡测试失败,进度对话框未从顶部删除

在加载的视图上选择选项卡并更改段

应用程序在从表单(SwiftUI)的选择器上选择时扩展“其他”类别)

如何让浓缩咖啡测试在特定条件下失败