我正在尝试用新的android-test-kit(Espresso)编写一些测试.但我找不到任何关于如何检查对话框是否显示并在其上执行某些操作的信息(如单击正负按钮等).请注意,对话框也可以由a显示WebView,而不是由应用程序自己显示.
任何帮助,将不胜感激.我只需要一个链接,或基本的一些示例代码:
setCancelable(false)在对话框构建器上调用,我们要检查它)谢谢你的建议!
我基本上是有一个自定义IdlingResource,需要一个View构造函数的参数.我找不到真正谈论如何实现它的任何地方.
我正在尝试使用这个答案:https://stackoverflow.com/a/32763454/1193321
正如你所看到的,它需要一个ViewPager,但是当我IdlingResource在我的测试课程中注册时,我不确定如何获得我的观点.
我已经尝试了findViewById(),我已经尝试了当前正在运行的活动然后调用findViewById()它,没有运气.
任何人都知道在这种情况下该怎么做?
我正在尝试使用浓缩咖啡实施一些导航测试。实际上,我想在重新启动后检查应用程序是否已通过使用主屏幕上的后退键关闭。这是我正在使用的一段代码。
class NavigationTests {
@get:Rule
val mActivityTestRule: ActivityTestRule<MainActivity> = ActivityTestRule(MainActivity::class.java)
@Test
fun backOnEmptyHomeMustExit(){
Espresso.pressBack()
Assert.assertTrue(mActivityTestRule.activity==null)
}
}
Run Code Online (Sandbox Code Playgroud)
实际上,由于以下异常,我的测试失败了:
android.support.test.espresso.NoActivityResumedException:按下并杀死应用程序
我在 stackoverflow 中看到了一些关于使用 try/catch 块的提议,但我想知道是否有更合适的方法来做到这一点?
如何使用 Espresso 测试 android 应用程序已关闭
Android - 带有 pressBack 的 Espresso 测试
编辑:所以看起来这个模板是要走的路:
try {
pressBack();
fail("Should have thrown NoActivityResumedException");
} catch (NoActivityResumedException expected) {
}
Run Code Online (Sandbox Code Playgroud)