¿Las pruebas de selenio valen la pena en dispositivos móviles?
Hemos estado planeando hacer pruebas de interfaz de usuario de nuestra aplicación web utilizando Selenium. Ahora estamos teniendo dudas. Por lo que puedo decir, los webdrivers para dispositivos Android y iOS no utilizan el navegador real que un usuario utilizaría. En su lugar, utilizan un WebView, que puede o no ser similar al navegador real. He visto varios informes para Android en particular que parecen indicar que el WebView se comporta de manera diferente que el construido en el navegador y de Chrome, que ahora es el predeterminado en algunos dispositivos.
¿Considera que el uso de Selenium para probar en el dispositivo de hardware real vale la pena? ¿Es más o menos preciso que usar emuladores? ¿Qué has encontrado es la forma más eficaz de usar las pruebas automatizadas para que te sientas cómodo de que tu aplicación web funcione correctamente en todas las plataformas de hardware que soportas?
- Prueba de desplazamiento sin fin RecyclerView con Espresso y RxJava
- Espresso cómo hacer clic en un ImageView colocado en el primer elemento de la lista?
- Android Espresso ListView haga clic en el elemento
- Prueba de la interfaz de usuario de Android con Expresso: No hay actividades en la etapa REANUDADO
- Prueba de centrifugadoras dinámicas espresso
En nuestro caso, necesitamos respaldar versiones recientes de los principales navegadores en PCs, Macs, tablets y teléfonos. El selenio está funcionando bien para las pruebas de PC, pero estoy preocupado por las pruebas de tableta y teléfono. Estamos considerando si debemos rodar nuestros propios o usar algo como uitest.js que realmente podemos ejecutar en los navegadores de dispositivos reales.
- Manera correcta de abrir NavigationDrawer y seleccionar elementos en Robotium
- Espresso Nested Recycler Vistas Prueba de interfaz de usuario
- Tiempo de espera de espera para el resultado de ClearAppData2 al ejecutar Xamarin UI Tests for Android
- Espresso: espera que la actividad finalice la tarea de fondo después de presionarBack ()
- No hay identificación para mi prueba de interfaz de usuario de Android
- Cómo detectar si la aplicación de Android está ejecutando la prueba de interfaz de usuario con Espresso
- Comprobación de ViewPager con Espresso. ¿Cómo funciona la acción a un botón de un elemento?
- No se puede ejecutar Robotium en Android Studio con sólo APK
Mientras tanto el controlador del iPhone y el controlador de Android que existen en el repositorio de código fuente Selenium WebDriver utilizan hoy un control WebView para navegar por la web, ambos proyectos han sido en gran medida obsoletos. Esta depreciación es explícita en el caso del controlador del iPhone, y tácita en el caso del controlador de Android.
Estos pilotos han sido suplantados por otros proyectos como ios-driver , Selendroid , y Appium . Estos proyectos se basan en el proyecto WebDriver, utilizando la misma API de cliente y se comunican utilizando el mismo protocolo de cable basado en JSON-over-HTTP , pero son capaces de automatizar aplicaciones nativas e híbridas en plataformas móviles. Normalmente pueden automatizar la aplicación en el dispositivo o en un emulador. En el caso de cada uno de los tres proyectos que he mencionado, se mantienen activamente y el desarrollo está en curso.
Desde mi experiencia, y mis opiniones personales –
Pruebas en TODOS los navegadores, ya sea Android, y los navegadores webkit basado no siempre es necesario.
Un punto de partida debe ser mirar qué exploradores golpean realmente su uso. Echa un vistazo a algunos gráficos de red, y si Firefox o Chrome es el tráfico principal de tu aplicación, debes cubrir primero esos navegadores. Todos los demás navegadores son sólo aditivos. Su principal responsabilidad debe ser atender a aquellos que usan su aplicación más.
En el mercado móvil – la automatización de sus aplicaciones móviles no siempre es completamente necesaria, ya que las pruebas unitarias suelen ser suficientes porque apuntan los mismos puntos de servicio.
En mi opinión personal, las pruebas para móviles están sobrevaloradas de todos modos. ¿Por qué no cambiar el agente de usuario de Chrome, o cualquier otro navegador que utilices, para que tu aplicación considere Android o iOS?
Ahora el controlador de Android se quita y reemplaza por Selendroid para Android.
- Java 6+
- Se debe instalar Android-Sdk más reciente y ANDROID_HOME
- Descargar selendroid.jar file
-
Lanzar servidor por
Java -jar selendroid-standalone-0.17.0-con-dependencias.jar -app selendroid-test-app-0.17.0.apk
- Cómo obtener el registro detallado en Logcat para un módulo específico
- Obtener contactos sólo número móvil