← Volver al taller
Entre bastidores

Android Store Screenshot Kit

Capturas reales de aplicaciones Android reales, tomadas siempre de la misma forma y listas para Google Play.

Tres pantallas de teléfono, la del centro enmarcada y con una marca de verificación

Sobre el proyecto

Las capturas de la tienda se quedan anticuadas cada vez que cambia la aplicación, y hacerlas a mano en un teléfono es lento y nunca sale igual dos veces. Este kit las convierte en un paso repetible: cada aplicación conserva una pequeña prueba que prepara sus propios datos y recorre sus pantallas, y el kit se encarga del resto.

Compila la aplicación y su prueba, las ejecuta en el dispositivo de Firebase Test Lab elegido, sigue la ejecución hasta el final, descarga las capturas y las comprueba según los requisitos de Google Play antes de copiarlas en la carpeta de tienda de la aplicación.

como funciona

  1. Describa la ejecución. Un breve archivo TOML indica la aplicación, su prueba, los dispositivos que se usarán y el número y tamaño de capturas esperado.
  2. Escriba la parte de la aplicación. Parta de la prueba de plantilla, cargue datos de ejemplo fijos y enumere las pantallas que se capturarán. Unas funciones compartidas esperan a las pantallas, tocan, cierran diálogos del sistema y bloquean la orientación.
  3. Ejecute un dispositivo. Un solo comando compila los dos APK, los envía a Firebase Test Lab y sigue la prueba hasta que termina.
  4. Recoja y compruebe. Las capturas se descargan, se comprueban en número, tamaño y formato de color, y se guardan junto con un registro de la ejecución.

Hecho con el kit

Estas son las capturas de tableta de Pocket Omaha para Google Play, tomadas por el kit en una Pixel Tablet real en Firebase Test Lab. La prueba carga datos grabados de Apple, JPMorgan y Nokia, así que no se consultaron datos de mercado y cada ejecución muestra las mismas cifras.

La primera ejecución también sacó a la luz un aviso de compatibilidad de Android sobre la alineación de una de las bibliotecas nativas de la aplicación. Tras actualizar la biblioteca, una segunda ejecución terminó sin él.

Funciones

  • El mismo resultado en cada ejecución: Cada aplicación carga sus propios datos de ejemplo grabados en lugar de llamar a servicios en vivo, así que las capturas no cambian de una ejecución a otra.
  • Comprobadas antes de usarlas: Cada PNG se comprueba según el número esperado, las dimensiones y el formato RGB sin transparencia que pide Google Play.
  • Un registro de cada ejecución: Cada ejecución tiene su propia carpeta con los PNG sin modificar y un archivo run.json con los hashes de los archivos, el dispositivo, el enlace a Firebase Console y la configuración exacta.
  • Preparado para dispositivos de 16 KB: Una comprobación aparte verifica la alineación del APK y de cada biblioteca nativa que contiene, para dispositivos Android con páginas de memoria de 16 KB.
  • Sin facturas sorpresa: Siempre hay que indicar un dispositivo, así que una ejecución nunca se extiende a todos los dispositivos físicos configurados, posiblemente de pago.
  • Los secretos, fuera: Los ID de proyecto salen de variables de entorno y el inicio de sesión de Google Cloud CLI; la configuración no contiene credenciales.
  • Fácil de adoptar: Las funciones compartidas solo dependen de AndroidX Test y UI Automator, así que sirven para aplicaciones con o sin Jetpack Compose.

Debajo del capó

La herramienta de línea de comandos es un único script de Python que no necesita nada más que Python 3.11. Las funciones compartidas son una pequeña biblioteca Android escrita en Java, así que no imponen ninguna versión de Kotlin a las aplicaciones que las usan y funcionan con AGP 8 y AGP 9. En CI, los dispositivos virtuales pueden ejecutarse en cada pull request, reservando los físicos para las versiones candidatas. El kit es de código abierto con licencia GPL-3.0.