Espresso:由于'keyDispatchingTimedOut'导致仪表运行失败

use*_*791 7 testing debugging android android-espresso

下面是espresso测试的一部分,尝试在单击提交按钮时登录到远程服务器,然后在成功登录后检查是否显示带有测试" FAQ " 的视图.

 onView(withId(R.id.buttonSubmit)).perform(scrollTo());
 onView(withId(R.id.buttonSubmit)).perform(click());
 onView(withText("FAQ")).check(matches(ViewMatchers.isDisplayed()));
Run Code Online (Sandbox Code Playgroud)

单击按钮时显示以下错误:

[INFO] emulator-52981_unknown_sdk:运行失败:由于'keyDispatchingTimedOut'导致检测运行失败

我想知道是否有人知道这个错误可能是什么原因.

谢谢

Yes*_*ssy 0

不在 UI 线程中执行(click())

下面的代码在仪器测试中运行,抛出 keyDispatchingTimedOut

    try (ActivityScenario<MainActivity> activityScenario
                 = ActivityScenario.launch(MainActivity.class)) {
        activityScenario.onActivity(activity -> {
            onView(withId(R.id.tv1)).perform(click());
        });
    }
Run Code Online (Sandbox Code Playgroud)

更改为下面的代码

    try (ActivityScenario<MainActivity> activityScenario
                 = ActivityScenario.launch(MainActivity.class)) {
        onView(withId(R.id.tv1)).perform(click());
    }
Run Code Online (Sandbox Code Playgroud)