浓缩咖啡测试:以编程方式在智能锁保存密码上选择“从不”
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 thanks
或 No Thanks
或 No 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()
【讨论】:
以上是关于浓缩咖啡测试:以编程方式在智能锁保存密码上选择“从不”的主要内容,如果未能解决你的问题,请参考以下文章