Android Espresso keep app 运行 测试后

Android Espresso keep app running after test

我进行了 Espresso 测试,希望应用程序保持准确 activity 测试已完成。我需要继续与应用程序互动。

@SmallTest
public void testOpenNavigationDrawer()
{
    Espresso.onView(ViewMatchers.withId(com.eleks.espresso.example.app.R.id.content_frame)).perform(ViewActions.swipeRight());
    ListView lvDrawerMenu = (ListView) getActivity().findViewById(com.eleks.espresso.example.app.R.id.lvDrawerMenu);
    Preconditions.checkNotNull(lvDrawerMenu, "lvDrawerMenu is null");
    final int count = lvDrawerMenu.getAdapter().getCount();
    Preconditions.checkPositionIndex(2, count, "No 1 index " + count + " size");
    Object obj = lvDrawerMenu.getItemAtPosition(2);
    Espresso.onView(Matchers.allOf(ViewMatchers.withId(com.eleks.espresso.example.app.R.id.tvItem), ViewMatchers.hasSibling(ViewMatchers.withText(obj.toString())))).perform(ViewActions.click());
}

我该怎么做? 谢谢!

抱歉,这是不可能的。

我认为您对自动化测试的了解不够好。 \

Espresso、Robotium、Calabash 和其他 UI 测试框架是为短期测试活动而制作的。它模拟用户的特定行为 - 运行 应用程序,执行一些技巧(如果成功)而不是关闭应用程序。

当然,Espresso 允许您创建自定义空闲资源,而不是在应用程序中注册它。此外,让测试休眠特定时间的最简单方法是使用方法 Thread.sleep(time_in_miliseconds),但就像我说的那样,这与自动化测试的想法背道而驰。

如果您想在特定测试后 运行 拥有该应用程序,以便您可以进行某些手动交互,甚至只是为了更长时间地查看最终结果。您可以在测试结束时放置一个 Thread.sleep(MS); 以使其在那里停留任意时间。

你可以在睡眠(以及你手动进行的任何交互)之后再进行一次检查,然后继续测试。显然你不想经常这样做,因为它不利于自动测试。

你也可以使用 Breakpoints 而不是 Thread.sleep() 如果是你的情况