Establecer la orientación del emulador / dispositivo mediante programación en la prueba de instrumentación

En mis pruebas de instrumentación quiero probar algo tanto en modo horizontal como vertical, por lo que me gustaría establecer la orientación antes de que empiecen las pruebas. ¿Hay una manera de configurar la orientación del dispositivo o del emulador mediante programación?

Estoy enterado del método de setRequestedOrientation() pero esto trabaja para una cierta actividad, si otra actividad se comienza tengo que recordar llamarla otra vez. Lo que busco es una forma de establecer la orientación "globalmente", de modo que cada nueva actividad se inicie automáticamente con esa orientación.

ACTUALIZAR:

La solución debe caber 2 requisitos: 1) no me hace cambiar mi código de producción, 2) que necesita para correr en un entorno de CI.

Aquí está una ViewAction que creé para hacer esto más simple: https://gist.github.com/nbarraille/03e8910dc1d415ed9740

El uso se describe en los comentarios. Espero que ayude.

Puedes hacerlo por todas tus actividades haciendo una Clase de AbtractActivity propia.

 public abstract class AbstractActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); } } 

Ahora tienes que heredar todas tus actividades de esta clase.

Puede iniciar dos emuladores simultáneamente en modo potrait y uno en modo horizontal. Para cambiar la orientación del emulador, use ctrl + f12.

  • ¿Cuál es la diferencia entre las carpetas src / androidtest y src / test?
  • Prueba de ViewPager (y CursorLoader) con Robolectric
  • Android APK vs prueba APK?
  • ApplicationTestCase obsoleto en el nivel 24 de API
  • ¿Cómo puedo probar setResult () en una prueba de Android Espresso?
  • ¿Cómo puedo implementar / ejecutar la aplicación en un dispositivo que se ejecuta remotamente usando adb (android platform-tools)?
  • Prueba de Snackbar con Espresso
  • Archivo de clase para java.nio.file.Path no encontrado
  • ¿Cómo usar Mockito para probar las API a lo largo de Robospice y Retrofit?
  • Robolectric: 3.3.2 - Ningún fichero de manifiesto: build \ intermedios \ manifestos \ lleno \ debug \ src \ main \ AndroidManifest.xml
  • ¿Cómo puedo probar una Intención lanzada / enviada desde una Actividad?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.