Esta página proporciona ayuda para la resolución de problemas y respuestas a preguntas frecuentes sobre la ejecución de pruebas con Firebase Test Lab. Los problemas conocidos también están documentados. Si no encuentra lo que busca o necesita ayuda adicional, únase al canal #test-lab en Firebase Slack o comuníquese con el soporte de Firebase .
Solución de problemas
Cuando selecciona un dispositivo con un nivel de capacidad alto en el catálogo de Test Lab, las pruebas pueden comenzar más rápido. Cuando un dispositivo tiene poca capacidad, las pruebas pueden tardar más en ejecutarse. Si la cantidad de pruebas invocadas es mucho mayor que la capacidad de los dispositivos seleccionados, las pruebas pueden tardar más en finalizar.
Las pruebas que se ejecutan en cualquier nivel de capacidad del dispositivo pueden tardar más debido a los siguientes factores:
- Tráfico, que afecta la disponibilidad del dispositivo y la velocidad de la prueba.
- Fallos del dispositivo o de la infraestructura, que pueden ocurrir en cualquier momento. Para verificar si hay una infraestructura reportada para Test Lab, consulte el panel de estado de Firebase .
Para obtener más información sobre la capacidad del dispositivo en Test Lab, consulte información sobre la capacidad del dispositivo para Android e iOS .
Los resultados de las pruebas no concluyentes suelen producirse debido a ejecuciones de pruebas canceladas o errores de infraestructura.
Los errores de infraestructura son causados por problemas internos del laboratorio de pruebas, como errores de red o comportamientos inesperados del dispositivo. Test Lab retira internamente las ejecuciones de pruebas que producen errores de infraestructura varias veces antes de informar un resultado no concluyente; sin embargo, puedes desactivar estos reintentos usando failFast .
Para determinar la causa del error, siga estos pasos:
- Verifique interrupciones conocidas en el panel de estado de Firebase .
Vuelva a intentar la prueba en Test Lab para verificar que sea reproducible.
Intente ejecutar la prueba en un dispositivo o tipo de dispositivo diferente, si corresponde.
Si el problema persiste, comuníquese con el equipo de Test Lab en el canal #test-lab en Firebase Slack.
La fragmentación puede hacer que sus pruebas se ejecuten por más tiempo cuando la cantidad de fragmentos que especificó excede la cantidad de dispositivos disponibles para su uso en Test Lab. Para evitar esta situación, intente cambiar a un dispositivo diferente. Para obtener más información sobre cómo elegir un dispositivo diferente, consulteCapacidad del dispositivo .
Cuando envía una solicitud de prueba, su aplicación primero se valida, se vuelve a firmar, etc., en preparación para ejecutar pruebas en un dispositivo. Normalmente, este proceso se completa en menos de unos segundos, pero puede verse afectado por factores como el tamaño de su aplicación.
Una vez preparada la aplicación, se programan ejecuciones de prueba y permanecen en cola hasta que un dispositivo esté listo para ejecutarla. Hasta que todas las ejecuciones de prueba terminen de ejecutarse, el estado de la matriz será "Pendiente" (independientemente de si las ejecuciones de prueba están en la cola o ejecutándose activamente).
Una vez finalizada la ejecución de la prueba, los artefactos de prueba se descargan del dispositivo, se procesan y se cargan en Cloud Storage. La duración de este paso puede verse afectada por la cantidad y el tamaño de los artefactos.
Preguntas frecuentes
Firebase Test Lab ofrece cuotas sin costo para realizar pruebas en dispositivos y usar API en la nube. Tenga en cuenta que la cuota de prueba utiliza el plan de precios estándar de Firebase, mientras que las cuotas de Cloud API no.
Cuota de prueba
Las cuotas de prueba están determinadas por la cantidad de dispositivos utilizados para ejecutar pruebas. El plan Firebase Spark tiene una cuota de prueba fija sin costo para los usuarios. Para el plan Blaze, sus cuotas pueden aumentar si su uso de Google Cloud aumenta con el tiempo. Si alcanza su cuota de prueba, espere hasta el día siguiente o actualice al plan Blaze si actualmente tiene el plan Spark. Si ya estás en el plan Blaze, puedes solicitar un aumento de cuota. Para obtener más información, consulte Cuota de prueba .
Puedes monitorear el uso de tu cuota de prueba en la consola de Google Cloud .
Cuota de API de pruebas en la nube
La API de Cloud Testing viene con dos límites de cuota: solicitudes por día por proyecto y solicitudes por cada 100 segundos por proyecto. Puedes monitorear tu uso en la consola de Google Cloud .
Cuota de API de resultados de herramientas en la nube
La API de resultados de la herramienta en la nube viene con dos límites de cuota: consultas por día por proyecto y consultas cada 100 segundos por proyecto. Puedes monitorear tu uso en la consola de Google Cloud .
Consulte Cuotas de API de Cloud para Test Lab para obtener más información sobre los límites de API. Si has alcanzado una cuota de API:
Envíe una solicitud de cuotas más altas editando sus cuotas directamente en la consola de Google Cloud (tenga en cuenta que la mayoría de los límites están configurados al máximo de forma predeterminada), o
Solicite cuotas de API más altas completando un formulario de solicitud en la consola de Google Cloud o comunicándose con el soporte de Firebase .
Desde su backend, puede determinar si el tráfico proviene de dispositivos de prueba alojados en Firebase al comparar la dirección IP de origen con nuestros rangos de IP .
Test Lab no funciona con VPC-SC, que bloquea la copia de aplicaciones y otros artefactos de prueba entre el almacenamiento interno de Test Lab y los depósitos de resultados de los usuarios.
Para detectar comportamientos inestables en sus pruebas, recomendamos utilizar la opción--num-flaky-test-attempts. Las repeticiones de Deflake se facturan o cuentan para su cuota diaria de la misma manera que las ejecuciones de pruebas normales.
Tenga en cuenta lo siguiente:
- Toda la ejecución de la prueba se ejecuta nuevamente cuando se detecta una falla. No se admite el reintento únicamente de casos de prueba fallidos.
- Las ejecuciones de reintento de Deflake están programadas para ejecutarse al mismo tiempo, pero no se garantiza que se ejecuten en paralelo, por ejemplo, cuando el tráfico excede la cantidad de dispositivos disponibles.
Si bien algunos de estos elementos están en nuestra hoja de ruta, actualmente no podemos comprometernos a respaldar estas plataformas de prueba y desarrollo de aplicaciones.
La información detallada del dispositivo está disponible a través de la API y se puede acceder a ella desde el cliente de gcloud mediante el comando describe :
gcloud firebase test ios models describe MODEL
La fragmentación no es compatible de forma nativa con Test Lab para iOS. Sin embargo, puede utilizar el cliente Flank para fragmentar casos de prueba de iOS.
Esto funciona configurando la clave y los valores OnlyTestIdentifiers
en el archivo .xctestrun
. Consulte la página man
de xcodebuild.xctestrun
para obtener más detalles.
Problemas conocidos
Robo test no puede eludir las pantallas de inicio de sesión que requieren una acción adicional del usuario más allá de ingresar las credenciales para iniciar sesión, por ejemplo, completar un CAPTCHA.
La prueba Robo funciona mejor con aplicaciones que utilizan elementos de la interfaz de usuario del marco de la interfaz de usuario de Android (incluidos los objetos View
, ViewGroup
y WebView
). Si utiliza la prueba Robo para probar aplicaciones que utilizan otros marcos de interfaz de usuario, incluidas aplicaciones que utilizan el motor de juego Unity, es posible que la prueba finalice sin explorar más allá de la primera pantalla.