Google se compromete a impulsar la igualdad racial para las comunidades afrodescendientes. Obtén información al respecto.
Se usó la API de Cloud Translation para traducir esta página.
Switch to English

CTS para aplicaciones instantáneas

Las aplicaciones instantáneas son una característica clave de 10, por lo que es esencial que funcionen correctamente. Las aplicaciones instantáneas se instalan implícitamente, por lo que tienen un conjunto restringido de capacidades y se ejecutan en una zona de pruebas de seguridad más restrictiva. Debido a la naturaleza generalizada de estas restricciones, cualquier parte del sistema corre el riesgo de no funcionar correctamente con Instant Apps. Se crea un subconjunto de prueba CTS para garantizar que los comportamientos permitidos por Instant Apps funcionen. La idea clave es minimizar el crecimiento de tamaño de CTS aislando el conjunto mínimo de pruebas al puerto. La ejecución de CTS en modo de aplicaciones instantáneas significa instalar el APK de prueba como una aplicación instantánea y ejecutar las pruebas.

Restricciones de la aplicación instantánea

Las aplicaciones instantáneas no las instala el usuario, por lo que se ejecutan en una zona de pruebas restringida con las siguientes restricciones:

  • Solo puede tener ciertos permisos.
  • No se pueden ver otras aplicaciones a menos que esas aplicaciones estén marcadas como visibles para Instant Apps.
  • Solo puede acceder a determinadas configuraciones del sistema.
  • Solo puede acceder a determinadas propiedades del sistema.
  • No se pueden exponer los servicios / proveedores.
  • Puede recibir y enviar con reglas especiales sobre transmisiones.

Además, las aplicaciones instantáneas deben optar por permitir que la nueva caja de arena de seguridad agregue más restricciones. Esta amplia gama de comportamientos especiales en torno a las aplicaciones instantáneas abarca toda la plataforma, por lo que debe haber una forma de validar que las aplicaciones instantáneas funcionen como se espera para todos los dispositivos del ecosistema.

Pruebas que se ejecutan en el modo de aplicaciones instantáneas

No todos los módulos CTS tienen pruebas aplicables a Instant Apps. Si la funcionalidad probada por el módulo tiene interacción con el servidor del sistema, entonces estas pruebas deben ejecutarse en el modo Aplicación instantánea. Por ejemplo, las pruebas de OpenGL no interactúan con el servidor del sistema, por lo que no es necesario ejecutarlas en el modo Aplicación instantánea mientras las pruebas de accesibilidad interactúan con el servidor del sistema, pero es necesario ejecutarlas en el modo Aplicación instantánea.

Además de identificar qué módulos son aplicables, los usuarios deben determinar qué pruebas en estos módulos son relevantes. Por ejemplo, probar comportamientos específicos del servicio para una arquitectura conectable (por ejemplo, AccessibilityService) no se aplica al modo de aplicación instantánea, ya que las aplicaciones instantáneas no pueden exponer servicios a otras aplicaciones (incluida la plataforma) mientras que las pruebas que validan los comportamientos del lado de la aplicación son aplicable para el modo de aplicaciones instantáneas. Otro ejemplo es una prueba que valida los comportamientos detrás de un permiso que una aplicación instantánea no puede mantener no son relevantes en el modo de aplicación instantánea. Hay un conjunto de pruebas que se aplican solo a las aplicaciones instantáneas que validan las reglas sobre cómo se comportan, por ejemplo, no exponer servicios o no ver otras aplicaciones. Por lo general, estos ya están escritos y no requieren portabilidad.

Prueba de fallas en modo Instantáneo

Si la prueba falla porque valida la funcionalidad a la que las aplicaciones instantáneas no pueden acceder, entonces no es aplicable en el modo de aplicación instantánea. Marque la prueba para que se ejecute solo en el modo Aplicación completa @AppModeFull con @AppModeFull . Puede aplicar esta anotación al nivel de la clase para excluir todas las pruebas en ella.

Si la prueba falla porque alguna funcionalidad accesible a Instant Apps está rota, presente un error .

Solución de problemas

Si su prueba falla con No se pudo instalar MyCtsModule.apk en el DISPOSITIVO. Razón: '-116' , busque los mensajes de PackageManager en logcat. Por ejemplo, si dice No se puede reemplazar la aplicación completa con la aplicación instantánea: your_app , entonces adb desinstale su aplicación primero.