相关疑难解决方法(0)

检查Espresso是否显示对话框

我正在尝试用新的android-test-kit(Espresso)编写一些测试.但我找不到任何关于如何检查对话框是否显示并在其上执行某些操作的信息(如单击正负按钮等).请注意,对话框也可以由a显示WebView,而不是由应用程序自己显示.

任何帮助,将不胜感激.我只需要一个链接,或基本的一些示例代码:

  1. 检查是否出现对话框
  2. 执行单击对话框按钮
  3. 与对话框的内部视图交互(如果它是自定义视图)
  4. 预先在对话框外点击,并检查它是否显示(例如,如果setCancelable(false)在对话框构建器上调用,我们要检查它)

谢谢你的建议!

android android-espresso

76
推荐指数
3
解决办法
5万
查看次数

如何从Espresso中获取视图以传递到IdlingResource?

我基本上是有一个自定义IdlingResource,需要一个View构造函数的参数.我找不到真正谈论如何实现它的任何地方.

我正在尝试使用这个答案:https://stackoverflow.com/a/32763454/1193321

正如你所看到的,它需要一个ViewPager,但是当我IdlingResource在我的测试课程中注册时,我不确定如何获得我的观点.

我已经尝试了findViewById(),我已经尝试了当前正在运行的活动然后调用findViewById()它,没有运气.

任何人都知道在这种情况下该怎么做?

java android android-studio android-espresso

21
推荐指数
3
解决办法
1万
查看次数

Android Espresso:使用pressBack正确测试关闭应用程序

我正在尝试使用浓缩咖啡实施一些导航测试。实际上,我想在重新启动后检查应用程序是否已通过使用主屏幕上的后退键关闭。这是我正在使用的一段代码。

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)

exception-handling back android-espresso

7
推荐指数
1
解决办法
3952
查看次数