Android - robotium测试用例在某些测试中挂起

时间:2015-01-05 04:39:45

标签: android android-activity junit4 robotium

我有一个应用程序要在自动化中进行测试。单击它时,它将首先启动活动A(欢迎页面活动),几秒钟后,它将启动活动B.

我的自动化测试可以单独执行。但是当我把它们一起运行时,它会在某些测试中挂起(我确信这不是因为流通)。

这是我的代码:

public class OSNCommonLib extends ActivityInstrumentationTestCase2 {

    public  final static String mainActiviy = "XXXX.LoginActivity";//Activity A
    static {

            try {

                launchActivityClass = Class.forName(mainActiviy); 

            } catch (ClassNotFoundException e) {
                throw new RuntimeException(e);

            }

        }
    @SuppressWarnings("unchecked")
        public OSNCommonLib() {
            super(launchActivityClass);
        }
    @Override 
            public  void setUp() throws Exception {     

                    super.setUp();
                    solo = new Solo(getInstrumentation(), getActivity());   

            }

        @Override
        public void tearDown() throws Exception
        {

            try {

                solo.finishOpenedActivities();


            } catch (Throwable e) {

                e.printStackTrace();

            }

            super.tearDown();

        }
} 

这是我的测试类扩展上面的类

public class ConversationTest extends OSNCommonLib{
public ConversationTest() throws ClassNotFoundException {
        super();

    }
public void test01()
    {
        XXXX
        //solo.goBack();
    }
    public void test02()
    {
        XXXX
        //solo.goBack();
    }
    public void test03()
    {
        XXXX
        //solo.goBack();
    }

}

它将始终挂在第三次测试中。 我的问题是:我应该使用solo.goBack()吗?事实上,我很困惑是否使用solo.goBack,因为我已经拆解了。我认为solo.finishOpenedActivities()会起作用。 但结果似乎很奇怪。 有人可以帮我这个吗? 另外,由于我有两个活动A和B,这个问题是由它造成的吗?

非常感谢!

0 个答案:

没有答案