¿Cuáles son las herramientas de prueba automatizadas para teléfonos Android?
1. Monkey es una herramienta de prueba que viene con AndroidSDK. Durante el proceso de prueba, enviará un flujo de eventos de usuario pseudoaleatorio al sistema, como entrada de teclado, entrada de pantalla táctil, entrada de gestos. etc.) para realizar las pruebas del software que se está desarrollando. La aplicación se somete a pruebas de estrés y también hay una salida de registro. De hecho, esta herramienta sólo puede realizar algunas pruebas de estrés en programas. Dado que los eventos y datos de la prueba son aleatorios y no se pueden personalizar, tiene grandes limitaciones. 2. MonkeyRunner también es una herramienta de prueba proporcionada por AndroidSDK. Estrictamente hablando, MonkeyRunner es en realidad un conjunto de herramientas API, que es más poderoso que Monkey y puede escribir scripts de prueba para personalizar datos y eventos. La desventaja es que el script está escrito en Python, lo que requiere mayores requisitos para los evaluadores e implica costos de aprendizaje relativamente grandes. 3. Instrumentación es una de las primeras clases de herramientas de prueba automatizadas de Android proporcionadas por Google. Aunque JUnit también podía probar Android en ese momento, Instrumentación le permite realizar pruebas más complejas en aplicaciones, incluso a nivel de marco. A través de la instrumentación, puede simular pulsaciones de teclas, levantamientos, clics en la pantalla, desplazamientos y otros eventos. La instrumentación logra estas funciones ejecutando el programa principal y el programa de prueba en el mismo proceso. Puede pensar en la instrumentación como un componente similar a la actividad o el servicio sin una interfaz para monitorear su programa principal mientras se ejecuta. La desventaja es que para los evaluadores, la capacidad de codificación es relativamente alta y deben tener una cierta comprensión de los conocimientos relacionados con Android. También necesitan configurar el archivo AndroidManifest.xml, que no puede abarcar varias aplicaciones. 4. UiAutomator también es un marco de prueba automatizado proporcionado por Android. Básicamente admite todas las operaciones de eventos de Android. En comparación con la instrumentación, no requiere que los evaluadores comprendan los detalles de implementación del código (puede usar UiAutomatorviewer para capturar las propiedades de control en la página de la aplicación). sin mirar el código fuente). Basado en Java, el código de prueba tiene una estructura simple, es fácil de escribir y su aprendizaje es de bajo costo. Una vez compilado, todos los dispositivos o simuladores pueden ejecutar la prueba y se puede ejecutar en todas las aplicaciones (por ejemplo, muchas aplicaciones lo tienen). la capacidad de seleccionar álbumes y abrir la cámara para tomar fotografías, lo cual es una prueba entre aplicaciones). La desventaja es que solo es compatible con SDK16 (Android4.1) y superior, y no es compatible con HybirdApp y WebApp. 5. Espresso es el marco de pruebas automatizadas de código abierto de Google. En comparación con Robotium y UIAutomator, es más pequeño y conciso, su API es más precisa, es sencillo escribir código de prueba y es fácil comenzar rápidamente. Debido a que se basa en Instrumentación, no puede cruzar aplicaciones. Un ejemplo simple de escritura de pruebas con Android Studio 6. Selendroid: también es un marco de prueba basado en Instrumentación. Puede probar NativeApp, HybirdApp y WebApp, pero hay menos información en línea y la comunidad no es muy activa. 7. Robotium también es un marco de prueba basado en instrumentación. Actualmente se utiliza más en el país y en el extranjero, tiene más información y una comunidad más activa. La desventaja es que los evaluadores deben tener una determinada base de Java y comprender los componentes básicos de Android, y no pueden cruzar aplicaciones. 8. Athrun es un marco/plataforma de prueba móvil desarrollado por Taobao y es compatible con iOS y Android. La parte de Android también se basa en Instrumentación, y se extiende según la clase ActivityInstrumentationTestCase2 original de Android para proporcionar un conjunto completo de API orientadas a objetos. Aquí están los detalles. 9. Appium es un marco relativamente popular recientemente y la comunidad también es muy activa.
Este marco debería ser el más poderoso. Sus ventajas: Su filosofía es: Su concepto de diseño: Limitaciones relacionadas: Resumen: En la parte de iOS, UIAutomation está encapsulado con Android 4.2 y superior, y Android 2.3 ~ 4.1 usa Instrumentación. significa que Appium encapsula tanto UiAutomator como Instrumentation. Por lo tanto, Appium tiene todas las ventajas de los marcos principales anteriores: aplicaciones cruzadas, admite NativeApp, HybirdApp, WebApp y admite N idiomas para escribir sus scripts de prueba. Si usa Appium en Windows, no puede usar archivos .app precompilados específicamente para OSX, porque Appium depende de bibliotecas específicas de OSX para admitir las pruebas de iOS, por lo que no puede probar iOSApps en la plataforma Windows. Esto significa que sólo puedes ejecutar pruebas de iOS en una Mac. Arquitectura Cliente/Servidor, cuando se ejecuta, el servidor escuchará los comandos enviados por el cliente, traducirá estos comandos y los enviará al dispositivo móvil o simulador, y luego el dispositivo móvil o simulador responderá. Es precisamente gracias a esta arquitectura que el Cliente puede utilizar los scripts de prueba de las Bibliotecas Cliente de Appium en varios idiomas, y el lado del Servidor se puede implementar en el servidor o incluso en un servidor en la nube. Sesión, cada Cliente tendrá un ID de sesión después de conectarse al Servidor, y el Cliente necesita este ID de sesión para enviar comandos al Servidor, porque este ID de sesión representa el navegador que abre o el simulador del dispositivo móvil. Así que puedes incluso abrir N Sessions y probar diferentes dispositivos o simuladores al mismo tiempo. DesiredCapabilities es en realidad un par clave-valor. Establece información relacionada con la prueba para indicarle al servidor si necesitamos probar iOS, Android o cambiar a WebApp y otra información. AppiumServer está escrito en Node.js, por lo que se puede instalar directamente usando NPM. AppiumClients proporciona GUI en MacOS y no es necesario instalar Node.js, lo cual es conveniente para los evaluadores. Las pruebas automatizadas con Appium no requieren recompilar la aplicación; admite muchos lenguajes para escribir scripts de prueba, como Java, Javascript, PHP, Python, C#, Ruby y otros lenguajes convencionales; no es necesario reinventar la rueda; para pruebas automatizadas porque WebDriver está ampliado. (WebDriver es un marco de prueba automatizado simple y rápido para probar aplicaciones web, por lo que los evaluadores con experiencia en pruebas automatizadas web pueden comenzar directamente. Las pruebas automatizadas móviles deben ser de código abierto; es compatible con NativeApp, HybridApp y WebApp; , FirefoxOS Server también es multiplataforma, puedes usar MacOSX, Windows o Linux;