我正试着等待一个飞溅的屏幕完成,然后再玩主屏幕。我不能让waitForActivity工作。有什么建议吗?
public class InputLeadTest extends ActivityInstrumentationTestCase2<SplashActivity> {
private Solo solo;
public InputLeadTest() {
super(SplashActivity.class);
}
@Override
public void setUp() throws Exception {
solo = new Solo(getInstrumentation(), getActivity());
}
@Override
public void tearDown() throws Exception {
solo.finishOpenedActivities();
}
public void testPreferenceIsSaved() throws Exception {
solo.unlockScreen();
solo.waitForActivity("MainActivity", 10000);
solo.assertCurrentActivity("Expected MainActivity activity", "MainActivity");
}
}我尝试过等待,waitForActivity(String),waitForActivity(String,int),waitForView。没有人在工作。
发布于 2015-01-25 00:12:52
以前从来没有回答过我自己的问题,但也许这会节省某人一小时的时间(这就是我花的时间:-/ )
solo.unlockScreen();
solo.assertCurrentActivity("Expected SplashActivity activity", "SplashActivity");
solo = new Solo(getInstrumentation());
solo.waitForActivity("MainActivity");
solo.assertCurrentActivity("Expected MainActivity activity", "MainActivity"); 必须创造一个新的独奏对象。
发布于 2015-01-27 17:42:09
这个API就是以这种方式使用的,就像在应用程序activity1和activity2中有两个活动一样。测试用例就像在activity1上做一些事情,等待activity2,因为activity1上的操作,然后在activity2上做一些事情。在这种情况下,您可以使用这个solo.waitForActivity("activity2")。
由于我们通常不会在splash屏幕上执行任何操作,因此处理您的情况的最佳方法是使用MainActivity创建新的solo对象。
https://stackoverflow.com/questions/28131519
复制相似问题