getContexts
El método getContexts de WebdriverIO es una versión mejorada del comando predeterminado de Appium contexts
(y el anterior getContexts de WebdriverIO). Proporciona información detallada y procesable
sobre los contextos disponibles en una sesión de aplicación móvil, abordando las limitaciones de los métodos predeterminados de Appium.
Cómo funcionan las Webviews y por qué este método ayuda
Para más detalles, consulta la documentación de Aplicaciones Híbridas. A continuación se presenta un resumen de los desafíos abordados por el comando getContexts:
Desafíos en Android
- Una sola webview (por ejemplo,
WEBVIEW_{packageName}) puede contener múltiples páginas (similar a las pestañas del navegador). - Los métodos predeterminados de Appium no incluyen detalles sobre estas páginas, como su
title,urlo visibilidad, lo que dificulta identificar la página correcta y puede generar inestabilidad.
Desafíos en iOS
- El método predeterminado de Appium solo devuelve IDs genéricos de webview (por ejemplo,
WEBVIEW_{id}) sin ningún metadato adicional. - Esto hace que sea difícil determinar qué webview corresponde a la pantalla de la aplicación objetivo.
El método mejorado getContexts resuelve estos problemas devolviendo objetos de contexto detallados, que incluyen:
- Para Android:
title,url,packageName,webviewPageIdy detalles de diseño (screenX,screenY,widthyheight). - Para iOS:
bundleId,titleyurl.
Estas mejoras hacen que la depuración y la interacción con aplicaciones híbridas sean más confiables.