¿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?

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.

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.

  1. Java 6+

  2. Se debe instalar Android-Sdk más reciente y ANDROID_HOME

  3. Descargar selendroid.jar file

  4. Lanzar servidor por

    Java -jar selendroid-standalone-0.17.0-con-dependencias.jar -app selendroid-test-app-0.17.0.apk

  • Prueba del espresso del androide: prueba vacía suite. No se encontraron pruebas
  • No se puede conseguir que Robotium funcione en Android Studio
  • No se pudo iniciar intención Intent en un plazo de 45 segundos - robotium
  • Cómo rotar la actividad, quiero decir: el cambio de orientación de la pantalla con Espresso?
  • Robotium. WaitForActivity () devuelve false para la actividad incrustada en TabHostActivity
  • Android: Robotium vs marco de prueba de Android
  • La ejecución falló para la tarea 'app: prepareDebugAndroidTestDependencies'
  • ¿Cómo "esperar a la actividad" con Appium, en comenzar y durante la prueba en sí?
  • Prueba de interfaz de usuario de Espresso para Android: falla en la ejecución de la prueba: Error en la ejecución de la instrumentación debido a 'java.lang.IllegalAccessError'
  • ¿Cómo usar Espresso UI Testing for React Native?
  • Error de prueba Espresso: AppNotIdleException
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.