¿Cómo puedo rotar el emulador de Android desde el código de prueba?

Quiero probar el comportamiento diferente de mi aplicación en modo horizontal y vertical. Tengo una subclase de android.test.InstrumentationTestCase que hace un buen trabajo de probar el comportamiento de mi aplicación en el modo retrato, pero si (manualmente) poner el emulador en el paisaje antes de ejecutar la prueba, falla. Eso está bien – el comportamiento en el paisaje no debe pasar las pruebas de retrato – y sé cómo comprobar la orientación de mi código de prueba, para poder evitar los fallos de la prueba – pero lo que quiero hacer es (de código de prueba) poner el Emulador en el estado correcto para cada una de mis pruebas. ¿Cómo puedo hacer eso?

4 Solutions collect form web for “¿Cómo puedo rotar el emulador de Android desde el código de prueba?”

Lo que terminé haciendo fue extraer el bit de código en mi actividad que obtuvo la orientación en una interfaz OrientationGetter y dar a la actividad un DefaultOrientationGetter que devolvió la orientación del dispositivo (o emulador). Ahora mi prueba puede inyectar un stub mudo OrientationGetter que simplemente devuelve retrato o paisaje según sea necesario, y puedo probar el código de mi actividad sin controlar realmente el estado del emulador. Funciona bien.

No veo nada de uso obvio como un comando de consola de emulador. Desde el host, tal vez podría inyectar el F11 / F12 en el emulador usando Xtest o algún código win32 (y posiblemente determinar el estado actual leyendo la geometría de la ventana). Si la lógica de la prueba está funcionando en el emulador usted podría tcp hacia fuera a algo que escucha en un puerto en el anfitrión que aparecería como 10.0.2.2 del emulador y pedirle que inyecte esa llave. Pero esto parece poco elegante.

Reconstruir el emulador para agregar un comando de consola sería un poco mejor.

Puede hacerlo pulsando la siguiente secuencia de teclas Ctrl + F12

  • AsyncTask onPostExecute () no se llama en caso de prueba de unidad
  • Prueba de unidad en Android Studio: error "no escarnecido"
  • Problemas al configurar el entorno de prueba de App Engine
  • Pruebas unitarias Llamadas JNI
  • Crear proyecto de prueba de android en intellij idea 13 community edition
  • Prueba de unidad de Android con Retrofit y Mockito
  • Prueba de ciclo de vida de la actividad de Android
  • Android compartió código generado entre test y androidTest
  • Prueba de unidad Android SMS Receiver
  • Prueba de unidad de Android con Retrofit / RxJava / Roboletric y Mockito
  • Android InstrumentationTestCase getFilesDir () devuelve null
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.