其他分享
首页 > 其他分享> > android – 两个机器人测试用例,但第二个挂起没有响应(在JUnit View中)

android – 两个机器人测试用例,但第二个挂起没有响应(在JUnit View中)

作者:互联网

我设法在我的XXTest.java中编写了两个包含robotium-solo-3.2.1.jar的测试用例,幸运的是在JUnit视图中它显示了第一个完成的,设备完全正常工作(在模拟器上).

然后它进入第二个,但它只是永远挂在那里!抱歉,我无法使用我的帐户附加屏幕截图.

这是我的代码:

    public class XXTest extends ActivityInstrumentationTestCase2<SignInActivity> {

      private Solo solo;
      private Activity mActivity;
      private static final String account = "someone";
      private static final String pwd = "123456";

      @SuppressWarnings("deprecation")
      public XXTest() {
        super("com.acompany.android", SignInActivity.class);
      }

      protected void setUp() throws Exception {
        super.setUp();
        this.mActivity = getActivity();
        solo = new Solo(getInstrumentation(), mActivity);
      }

      @Smoke
      public void testLogIn() throws Exception {

        EditText accountInput = (EditText) solo.getView(R.id.edit_account);
        EditText pwdInput = (EditText) solo.getView(R.id.edit_password);

        solo.clearEditText(accountInput);
        solo.clearEditText(pwdInput);

        solo.enterText(accountInput, account);
        solo.enterText(pwdInput, pwd);
        solo.clickOnButton(mActivity.getResources()
            .getString(R.string.text_sign_in));

        solo.waitForActivity("MainActivity");
        solo.assertCurrentActivity("Expect MainActivity shown...", "MainActivity");
        boolean expected = true;
        boolean actual = solo.searchButton(mActivity.getResources().getString(
            R.string.welcome_dialog_start));
        assertEquals("find friend dialog not shown", expected, actual);
      }

      @Smoke
      public void testOpenPref() throws Exception {

        solo.goBack();
        solo.clickOnMenuItem(mActivity.getResources().getString(
            R.string.text_preferences));
        solo.assertCurrentActivity("Expected PrefActivity..", "PrefActivity");

        solo.goBackToActivity("MainActivity");
        solo.assertCurrentActivity("Expected MainActivity..", "MainActivity");
      }

      protected void tearDown() throws Exception {
        super.tearDown();
      }
}

我从Robotium教程中搜索了NotePadTest.java的样本,其中的3个测试用例正常工作!

请告诉我哪里出错了?我在某处遗漏了什么吗?为什么第二个测试用例没有运行?

顺便说一句.可以在测试项目中有多个类扩展ActivityInstrumentationTestCase2吗?好奇!

解决方法:

你需要在tearDown()中使用solo.finishOpenedActivities().

标签:android,junit,robotium
来源: https://codeday.me/bug/20190621/1249940.html