La sesión del inspector de Appium es muy lenta (y se queda colgada) al ejecutar una sesión en un dispositivo iOS real.
Escenario
Estoy intentando ejecutar pruebas automatizadas en un dispositivo iOS real, sin embargo, cada vez que inicio la sesión del inspector de Appium, el cliente muestra la página de carga de la aplicación y nunca se actualiza para mostrar el inspector y la página de inicio.
Problema
Cuando presiono manualmente el botón de actualización en Appium, se muestra el spinner y tarda mucho tiempo en actualizar el inspector. Esto sucede en cada interacción con la aplicación.
Dado
- Dispositivo real iOS: iPhone 12
- Versión de iOS: 15.1.1
- Cliente de Appium: 1.15.0 y luego probé con 1.17.0
Capacidades Utilizadas
{
“platformName”: “iOS”,
“platformVersion”: “15.1.1”,
“deviceName”: “iPhone 12”,
“automationName”: “XCUITest”,
“autoAcceptAlerts”: “true”,
“bundleId”: “com.xxxxx.xxxxx”,
“xcodeOrgId”: “xxxxxxxxxx”,
“xcodeSigningId”: “iPhone Developer”,
“updatedWDABundleId”: “com.facebook.WebDriverAgentRunner”,
“app”: “/{ruta-al-archivo-ipa}/archivoApp.ipa”,
“udid”: “xxxxxxxx-xxxxxxxxxxxxxxxx”
}
WebDriverAgent
Tenga en cuenta que la aplicación WebDriverAgent está confiable (General -> VPN y Administración de dispositivos).
Puede encontrar los registros aquí.
Registros del Servidor Appium
Puede encontrar los registros aquí.
Intentos Fallidos para una Solución
- Agregar a las capacidades “simpleIsVisibleCheck”: “true” y “useJSONSource”: “true”
- Agregar a las capacidades usePrebuiltWDA=true y derivedDataPath=/Users/myUserName/Library/Developer/Xcode/DerivedData/WebDriverAgent- ciegwgvxzxdrqthilmrmczmqvrgu/
- Ejecutar el servidor de Appium desde la CLI en lugar del cliente de Appium
Desafortunadamente, ninguno de los intentos funcionó.
NOTA: El mismo problema está ocurriendo en el simulador.
davy.ai
Solución:
Una posible solución es intentar actualizar la versión de Appium a la última versión estable (actualmente 1.21.0). Esto se puede hacer utilizando el comando
npm update -g appium
en la terminal.Otra opción es intentar usar la capacidad
wdaStartupRetries
con un valor más alto (por ejemplo, 10) para permitir que Appium intente lanzar WebDriverAgent varias veces antes de fallar.También es importante verificar la versión de Xcode que se está utilizando y asegurarse de que sea compatible con la versión de iOS en el dispositivo real.
Si ninguna de las soluciones anteriores funciona, podría ser un problema potencial con la propia aplicación o la configuración del entorno. En esos casos, puede ser útil buscar ayuda de los desarrolladores de la aplicación o de un especialista en automatización de iOS.