selendroid tutorial android mobile test automation framework
Automatización móvil con Selendroid (Parte I):
Hasta ahora, ya se han desarrollado millones de aplicaciones utilizando Android como plataforma y el recuento sigue aumentando día a día.
El problema es, ¿cómo validar todas y cada una de las aplicaciones? Como necesitaremos recursos dedicados, como mano de obra, dispositivos reales (por ejemplo, móviles), etc., y nuevamente es una tarea que requiere mucho tiempo. Por otro lado, la versión de Android, la versión de las aplicaciones (.apk), la dimensión del dispositivo, etc., no son constantes.
Por lo tanto, resulta muy difícil definir los criterios de salida de la prueba, ya que no podemos definir el alcance completo de la prueba, por lo que no se puede realizar una estimación exacta del esfuerzo de prueba.
Para superar la dependencia del dispositivo, se están desarrollando emuladores, que pueden proporcionar un entorno similar en tiempo real, donde podemos probar la aplicación sin preocuparnos por la versión de Android, los dispositivos y su versión. Pero, aún probar aplicaciones (.apk) sobre el emulador es una actividad manual e incluso una tarea que requiere mucho tiempo. De ahí que se esté desarrollando la idea de automatizar las pruebas móviles.
Para realizar la automatización móvil, se desarrolla un marco de automatización de pruebas, que permite la automatización de aplicaciones basadas en Android mediante el uso de un lenguaje de secuencias de comandos.
Hay muchos marcos de automatización desarrollados como Selendroid, Appium, Robotium, Espresso.
Este tutorial se divide en dos partes:
Tutorial #1 : Introducción a Selendroid: Marco de automatización de pruebas móviles de Android
Tutorial #2: Cómo utilizar el marco de trabajo de Selendroid para automatizar las interacciones del usuario en una aplicación móvil (próximamente)
Lo que vas a aprender:
- ¿Qué es Selendroid?
- Componentes de Selendroid
- Configuración ambiental
- Escribiendo el primer script usando archivos APK en dispositivos reales
- Conclusión
- Lectura recomendada
¿Qué es Selendroid?
Selendroid es una increíble herramienta de marco de automatización de pruebas de aplicaciones móviles de Android con varias características importantes. Selendroid es una herramienta de automatización muy poderosa que puede interactuar con varios dispositivos simultáneamente y una aplicación se puede probar sin ninguna modificación o cambio usando Selendroid.
También es llamado 'Selenium para Android' para probar aplicaciones móviles nativas e híbridas y web móvil.
¿Por qué Selendroid?
- Es un código abierto (de uso gratuito)
- Admite Selenium como lenguaje de programación
- Admite lenguajes compatibles con controladores web como Java, C #, Perl
- Admite todas las versiones de Android
- Funciona tanto en un emulador como en el dispositivo real
- Funciona en una aplicación nativa, híbrida y basada en web
- Eficaz al ejecutar aplicaciones nativas y aplicaciones basadas en la nube. ya que admite rejilla de selenio
- Admite el reconocimiento de objetos utilizando propiedades de objetos
- Fácil de implementar
- Los dispositivos de hardware se pueden conectar, desconectar de la PC durante la ejecución de la prueba, sin reiniciar o detener la prueba. Selendroid puede reconocer los nuevos dispositivos automáticamente. Esta función se conoce como 'Conexión en caliente'
Una arquitectura simple de Selendroid
Componentes de Selendroid
Selendroid - Cliente
Básicamente, es una biblioteca cliente de Java. Desde este componente, la solicitud HTTP y WebDriver se envía mediante JSON al servidor independiente de Selendroid.
Selendroid - Independiente
Este componente administra diferentes dispositivos, así como los .apk, instalando el servidor Selendroid y la aplicación bajo prueba. La solicitud Http (que se ejecutará en un dispositivo / simulador real) se envía desde el servidor independiente de Selendroid al dispositivo y al apk bajo prueba.
Selendroid - Servidor
Este servidor se ejecuta sobre el dispositivo junto con la aplicación bajo prueba. Existe una comunicación bidireccional entre el servidor y la aplicación bajo prueba.
AndroidDriverApp
Es un controlador de Android integrado, así como una aplicación Web View para probar la web móvil.
cómo agregar valores a una matriz
Otro marco de prueba denominado APPI funciona de forma similar a un Selendroid.
Aquí hay una pequeña comparación entre ambos.
Característica | Selendroid | appium |
---|---|---|
Soporte para la versión inferior de Android (<4.1) | sí | No |
Conexión en caliente | sí | No |
Prueba de agente de usuario | No | sí |
Soporte para aplicaciones basadas en iOS | No | sí |
Requisito medioambiental | Para Android: Mac, Linux, Windows (cualquier versión) | Para iOS: Mac OSX 107. Para Android: Windows 7+, Linux, Mac OSX 107. |
Prerrequisitos:
Para empezar, la audiencia destinataria debe estar muy consciente del uso de selenium, cualquier herramienta IDE como Eclipse, etc. Los conceptos básicos de programación dicen Java, C, etc. y debe estar consciente del uso de Maven y otras herramientas de PRUEBA.
- Instale Intel x86 Emulator Accelerator (no obligatorio) para ver el simulador desde Aquí
- Java SDK, JRE ya instalado en un entorno de prueba. Alternativamente, puede descargar el mismo desde Aquí
Anote la ruta del SDK durante la instalación.
Establezca las variables ambientales presentes en Mi PC -> haga clic derecho -> Propiedades -> Configuración avanzada del sistema
- Eclipse ya está instalado en su máquina. Si no es así, también puede descargarlo desde Aquí
- Los archivos jar de selenio deben descargarse. Puedes descargar el mismo desde aqui tambien
- Los frascos de TestNG ya están descargados
- SDK de Android para descargar e instalar. También puede descargar el mismo desde Aquí
Anote la ruta del SDK de Android durante la instalación
Una vez descargado, ANDROID_HOME debe configurarse en las variables ambientales presentes en:
Mi PC -> haga clic derecho en él -> Propiedades -> Configuración avanzada del sistema
- Los archivos jar de Selendroid deben descargarse. También puede descargar el mismo desde Aquí
Recuerda para descargar el archivo jar independiente de Selendroid desde la ubicación anterior. Por lo general, el nombre es como selendroid-standalone-0.9.0-with-dependencies.jar. Además, descargue un archivo APK de muestra que diga selendroid-test-app-0.8.0.apk desde la ubicación anterior
Nota:
https www google comyoutube a mp3
- También podemos usar repositorio de maven para dar la referencia a todos los frascos o, de lo contrario, debe descargarlos manualmente y adjuntarlo a la ruta de compilación (Proyecto Over Eclipse)
- Dispositivos / Emuladores: en Android, todas las aplicaciones instaladas tendrán la extensión .apk. De otras formas, puede descargar aplicaciones como APK Info que le informará sobre la lista de aplicaciones instaladas en su dispositivo Android y su nombre real, tamaño, etc.
Configuración ambiental
# 1) Mantenga el APK que debe instalarse en una ubicación adecuada
En mi caso lo guardé G: \ Tarros \ selendroid-test-app-0.8.0.apk
# 2) A continuación, mantenga la aplicación sobre la carpeta del proyecto
En mi caso es 500: AppiumAutomation SelendroidFirst
# 3) Conecte el dispositivo real a la PC
Asegurándose de que el modo de depuración USB esté habilitado y también de permitir que las aplicaciones externas se instalen a través de la conexión USB.
Consejos:
- Consulte la configuración de depuración USB requerida para dispositivos móviles, por ejemplo, Redmi Note 3 de Aquí
- Permitir que la aplicación externa se instale usando USB, digamos Redmi note 3 de Aquí
# 4) Abra el símbolo del sistema en Windows
Navegue a la carpeta donde están presentes el tarro independiente de Selendroid, así como el archivo apk descargado.
Ahora especifique el comando similar y presione enter en el símbolo del sistema
P.ej. java --jar selendroid-standalone-0.15.0-with-dependencies.jar -aut selendroid-test-app-0.8.0.apk
O java –jar selendroid-standalone-0.15.0-with-dependencies.jar
Archivo APK: selendroid-test-app-0.8.0.apk
Nota: Cuando se ejecuta el comando anterior, asegúrese de que el APK esté firmado y que el dispositivo real esté conectado a la PC y que la depuración esté habilitada en el dispositivo.
cómo pasar matrices en java
(Nota: Haga clic en la imagen para ampliarla)
Verifique los siguientes puntos sobre el símbolo del sistema para asegurarse de que el entorno esté listo para la automatización:
- Verifique el mensaje 'Dispositivo especificado con número válido'
- Verifique el mensaje 'el servidor se inicia en el puerto predeterminado, digamos (4444) ...'
- Verifique el mensaje 'Se está creando sesión ...'
Nuevamente, siempre podemos volver a confirmar si un servidor se inicia o no utilizando la siguiente URL en cualquiera de sus navegadores web.
p.ej. http: // localhost: 4444 / wd / hub / status
# 5) Inspeccionando los APK
- Podemos usar aplicaciones reales conectando dispositivos móviles reales
- Podemos usar cualquier archivo APK descargado sin conexión
Selendroid Inspector es útil para depurar / inspeccionar los elementos web de APK.
Una vez identificado e iniciado el dispositivo, podemos ver el APK (en modo virtual) y encontrar las referencias, lo que es útil para escribir los scripts, utilizando la siguiente URL en cualquiera de sus navegadores web.
P.ej: http: // localhost: 4444 / inspector
Aquí tenemos la captura de pantalla de la aplicación bajo prueba y también tenemos la posibilidad de inspeccionar el elemento.
O siempre puedes usar uiautomatorviewer para encontrar los objetos de la aplicación bajo prueba.
La ruta predeterminada para esto se menciona a continuación:
C: Usuarios admin android-sdks herramientas
C: Users admin - Esta es la ubicación donde instalé el SDK de Android, pero puede ser diferente según la ubicación especificada durante su instalación.
Escribiendo el primer script usando archivos APK en dispositivos reales
Objetivo:
- Inicie el servidor (en el puerto predeterminado, diga 4444)
- Crea una sesión
- Instale la aplicación (archivo .apk) sobre el dispositivo real conectado
- Automatiza el campo de texto con algunos datos
- Haga clic automáticamente en el botón
Conclusión
Selendroid es una herramienta de marco de pruebas de automatización muy poderosa que se puede utilizar para probar aplicaciones nativas, híbridas y web en cualquier dispositivo Android, así como en un simulador.
Es compatible con Hotplugging, lo que significa que un usuario puede tener varios dispositivos probados a la vez, por lo que es posible la ejecución de pruebas en paralelo en varios dispositivos. Admite varios tipos de interacciones como pulsaciones prolongadas, acciones táctiles, etc.
La única complejidad de esto es la configuración ambiental, que también está presente en otros marcos. Una vez que esté configurado correctamente, podremos ejecutar nuestros scripts sin ninguna dificultad.
Enparte 2de este tutorial de Selendoid, cubriremos: Cómo usar el marco de Selendroid para automatizar las interacciones del usuario en una aplicación móvil.
En nuestro próximo artículo, discutiremos más sobre Tutorial de revisión práctica de pCloudy.
Lectura recomendada
- Tutoriales detallados de Eclipse para principiantes
- Ver tutorial de automatización de pruebas: una guía de herramientas de automatización de pruebas móviles
- Tutorial de Java Collections Framework (JCF)
- Tutorial de reflexión de Java con ejemplos
- Tutorial de Ranorex: una potente herramienta de prueba de automatización móvil, web y de escritorio
- Tutorial de Appium para probar aplicaciones móviles de Android e iOS
- Uso de Selendroid para automatizar las interacciones del usuario en una aplicación móvil (Parte 2)
- Uso avanzado de la automatización SeeTest en el proyecto de automatización móvil en tiempo real