Android Testing – Problema con ActivityInstrumentationTestCase2?
Estoy ejecutando UIAutomation para android usando Robotium y ActivityInstrumentationTestCase2. Tengo una suite de pruebas con 5 pruebas. A veces mi prueba de accidente accidentalmente porque una prueba comienza, una vez que la prueba anterior no ha terminado todavía. Hay alguna manera de evitar esto? ¿Es posible añadir manualmente un retraso de 10 segundos antes de cada prueba para alejarse de este horrible error molesto?
EDITAR:
- Automatización de Android APK con Espresso
- Cómo rellenar la contraseña EditText con Android uiautomator?
- Cómo obtener una instancia de android.app.UiAutomation
- Construcción de hormigas: incapaz de localizar tools.jar. Se espera encontrarlo en C: \ Archivos de programa \ Java \ jre7 \ lib \ tools.jar
- Proporcionando retraso entre eventos en UiAutomator Android
public class MyTest<T extends RoboActivity> extends ActivityInstrumentationTestCase2<T> { protected Solo solo; @Override protected void setUp() throws Exception { super.setUp(); solo = new Solo(getInstrumentation(), getActivity()); } @Override protected void tearDown() throws Exception { solo.finishOpenedActivities(); try { solo.finalize(); } catch (Throwable e) { Assert.fail(e.getMessage()+ e.toString()); e.printStackTrace(); } super.tearDown(); } }
- UiAutomator falla en el dispositivo 4.1.2
- Compruebe si se muestra un identificador de recurso de la vista en matriz y haga clic en él (Android-Espresso)
- Cómo inyectar el evento de clic con Android UiAutomation.injectInputEvent
- Cómo configurar Appium en Mac OS para ejecutar pruebas automatizadas de clases JAVA en dispositivos Android e iOS
- Error 'adb not installed' al intentar tomar una instantánea con uiautomatorviewer
- En el visor del automatizador de la UI Error al obtener la captura de pantalla Dispositivo, Razón: Error No se puede conectar con el adaptador. Compruebe si adb está instalado correctamente
- Prueba de integración de Android: Robotium o UIAutomator?
- Appium: Cómo iniciar la aplicación de Android para el perfil de trabajo
Tal vez esto podría funcionar:
mSolo = new Solo(getInstrumentation(), getActivity()); mSolo.waitForActivity(AccountDetail.class);
Parece que waitFor * métodos están gestionando que mejor que un "sueño" http://robotium.googlecode.com/svn/doc/com/robotium/solo/Solo.html#waitForActivity(java.lang.Class , int)
La construcción de mis ensayos, el desmontaje, etc. son ligeramente diferentes y funcionan bien (ver abajo). Tuve que añadir un sueño para trabajar en torno a algunas pruebas no deterministas de los fracasos.
public class AccountDetailTest extends ActivityInstrumentationTestCase2<AccountDetail> { private Solo solo; public AccountDetailTest() { super("com.bigcorp.breadmaker", AccountDetail.class); } @Override public void setUp() { solo = new Solo(getInstrumentation(), getActivity()); solo.sleep(500); //wait for activity to initialize } @SmallTest public void testDummy() { assertNotNull(solo); } @Override public void tearDown() throws Exception { solo.finishOpenedActivities(); } }
- La pantalla de la cámara no mantiene la relación de aspecto / parece sesgada
- La actividad continúa después de terminar ();