Dos robotium caso de prueba, pero el segundo colgar no responde (en JUnit View)

Me las arreglé para escribir dos casos de prueba en mi XXTest.java con robotium-solo-3.2.1.jar incluido, por suerte en JUnit ver que muestra el primero está hecho, que el dispositivo exactamente trabajado (en el emulador también).

Luego procede a la segunda, pero sólo colgando allí para siempre! Lo siento no puedo adjuntar captura de pantalla con mi cuenta.

Aquí está mi código:

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(); } } 

He buscado la muestra de NotePadTest.java de Robotium tutorial, esos 3 casos de prueba en ella son sólo trabajo bien!

Por favor, dime dónde va mal? ¿Estoy perdiendo algo en alguna parte? ¿Por qué no funciona el segundo caso de prueba?

Por cierto ¿Puede haber más de una clase que extiende ActivityInstrumentationTestCase2 en un proyecto de prueba? ¡curioso!

Necesitas usar solo.finishOpenedActivities () en tu tearDown ().

@ Robert – este es el problema con la actividad de prueba en sí, no a robotium específicos.

Para el primer método de prueba: el flujo básico que es como a continuación: 1> en el método setUp () cargar la actividad principal (decir MainActivity )> hacer algunas operaciones en su testMethod1 () – que los resultados de aterrizar en otra actividad AnotherActivity )> y en tearDown () matas la actividad iniciada en el método setUp () que es MainActivity

Nota: pero AnotherActivity permanece en vivo

Para el segundo método de prueba: el flujo básico que se muestra a continuación: 2> en el método setUp (), intente cargar la actividad principal (digamos MainActivity ) de nuevo, aunque la AnotherActivity previamente lanzada no se ha matado, por lo que cuelga allí , It Ni siquiera entrar en la prueba testMethod2 () fr ejecución –

Nota: el corredor gráfico de eclipse muestra que se bloquea mientras el marcador de ejecución apunta a testMethod2 (), la gente piensa que se quedó atascado en testMethod2 () – pero el problema está en setUp () para testMethod2 () no en testMethod2 ().

Solución: 1> Basta con mantener un vistazo en su actividad cruzada de navegación – al final de cada testMethod () use solo.goBack () para volver a la misma actividad principal MainActivity de su actividad actual (se aterrizó en causa de sus acciones )

Results – al final de testMethod1 () sólo permanece la actividad principal que se abrió en setUP (). Así que se mata satisfactoriamente .No La actividad permanece activa y para testMethod2 (). El setUP () puede cargar MainActivity nuevamente sin un bloqueo – y se ejecuta testMethod2 ().

Espero que aclare

  • Android Robotium NoClassDefFoundError
  • Android y Robotium - Prueba la actividad que espera un extra?
  • Prueba de prueba de Android recurso
  • Cómo correctamente mock HttpGet llamada en la prueba de Android
  • No es posible hacer clic en barra de acción en robotium
  • Interfaz Android robotium pruebas con Teamcity
  • Continuar las pruebas de Android después de una excepción
  • "La prueba no se ejecutó hasta la finalización." Motivo: 'La instrumentación ejecutada falló debido a' El proceso se estrelló. '' Mientras se ejecutan varios testcases
  • Haga clic en la notificación de Android mediante programación
  • Prueba de interfaz de usuario de Robotium para la aplicación con el cajón de navegación
  • Instalación de un apk de Android mediante programación como parte de un marco de prueba
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.