Android uiautomator prueba automáticamente cómo iniciar sesión para ver fácilmente los resultados de las pruebas.
En primer lugar, el problema causado por un ERROR
Si hay un ERROR en el proceso de I+D: "El fenómeno de la pantalla ocurre cuando el idioma del teléfono cambia constantemente". ¿Cómo verificar este problema? Creo que la mejor manera son las pruebas automatizadas.
Entonces, ¿qué tareas pueden realizar las pruebas automatizadas?
En pocas palabras, esas pruebas repetitivas se pueden completar mediante la automatización:
1. Configura el idioma del teléfono
2.
3. Marca y cuelga
4. Incluso envía y recibe mensajes de texto.
Si necesita las funciones anteriores, comience el viaje de automatización.
2. Introducción a las pruebas automatizadas de Android
Las pruebas automatizadas de Android se dividen principalmente en Monkeyrunner, Rubotium, UiAutomator, Monkey (en mi opinión, esto no cuenta), etc. Características principales:
1. Monkeyrunner: Ventajas: la operación más simple, puede registrar scripts de prueba y visualizar operaciones. Desventajas: genera principalmente cálculos automáticos de coordenadas, no es portátil y tiene las funciones más limitadas;
2.Rubotium: Se utiliza principalmente para pruebas automáticas de APK. El APK puede tener código fuente o no tener código fuente, y la desventaja es que la operación es para APK y debe volver a firmarse (con herramientas), y la operación es relativamente complicada;
3 UiAutomator: Ventajas: todas las operaciones son posibles. Automatizado, fácil de operar. Desventajas: la versión de Android debe ser superior a 4.0 y no puede operarse mediante ID de control. Las funciones son relativamente limitadas, pero son suficientes;
4. Mono: Para ser precisos, esta no es una prueba automatizada, porque solo puede generar eventos aleatorios y no puede seguir pasos establecidos; p>
De la introducción anterior, podemos concluir que para probar un APK, puede elegir Rubotium; el proceso de prueba puede involucrar múltiples APK, así que elija UiAutomator para algunas pruebas simples, elija Monkeyrunner;
Este artículo presenta principalmente el uso de UiAutomator.
En tercer lugar, construcción del entorno
3.1, requisitos previos:
1 JDK
2.SDK (API superior a 15)
3.Eclipse (instalar el complemento ADT)
4.ANT (usado para compilar y generar jar)
3.2 Breves pasos:
1. Instale JDK y agregue variables de entorno.
Después de la instalación, asegúrese de agregar variables de entorno a través de JAVA_HOME, es decir, primero cree la variable JAVA_HOME y luego agregue % JAVA_HOME%\bin
2. .
Asegúrese de crear ANDROID_HOME primero y luego agregue %ANDROID_HOME%\tools a la ruta
3. Instale los complementos Eclipse y ADT.
4. Instale la herramienta ANT y agregue variables de entorno.
Además, asegúrese de crear primero la variable %ANT_HOME% y luego agregue %ANT_HOME%\bin a la ruta.
4. Operación detallada
4.1, compilar el proyecto
Crear un nuevo proyecto Java usando Eclipse.
¡Tenga en cuenta que no es un proyecto de Android!
4.2, Agregar biblioteca JUnit
Siguiente->Biblioteca->Agregar biblioteca
4.3 Agregar biblioteca de Android
Agregar externa. jars:
Busque la ruta Android-SDK\platforms\Android-17\ y agregue los siguientes android.jar y uiautomator.jar:
Después de agregar todas las bibliotecas, debería ser Me gusta esto:
4.4. Agregue el paquete a src y luego agregue el archivo de clase.
El contenido del archivo es:
[java]Ver texto sin formato
Paquete com
Importar ui automator de Android. .core.ui objeto;
importar .ui automator .uiobjectnotfoundexception;
importar ui automator. p>Importar com. ui automator. core .ui selector;
Importar .ui automator de Android. p>
testDemo público vacío() lanza UiObjectNotFoundException {
getUiDevice(). presione home();
//Ingrese al menú de configuración.
aplicación de configuración de objeto de interfaz de usuario = nuevo objeto de interfaz de usuario (nuevo selector de interfaz de usuario(). texto("configuración"));
aplicación de configuración de clic(); >//Dormir durante 3 segundos
Prueba {
thread . sleep(3000
} catch(excepción interrumpida e 1){
//TODO bloque de captura generado automáticamente
e 1. printstacktrace();
}
//Configuración del idioma de entrada y del método de entrada
p>elementos de configuración de desplazamiento de interfaz de usuario = nuevo desplazamiento de interfaz de usuario capaz (nuevo selector de interfaz de usuario(). Desplazable (verdadero));
idioma de objeto de interfaz de usuario y elemento de entrada = elementos de configuración getchildbytext(
<). p>new UiSelector().text("Idioma y entrada"), "Idioma y entrada", verdadero);languageandinputitem.clickandwaitfornewWindow();
}
p>}
La ruta del proyecto anterior está en e:\workspace\AutoRunner y el nombre completo de la clase es com. En cuanto a las funciones específicas de Runner, ahora no nos importan.
4.5. Busque el ID del SDK
CMD, ingrese al directorio \Android-sdk\tools\ y ejecute el comando:
lista de Android
Ver El valor de ID del SDK correspondiente a la versión de Android es actualmente 60;
Crear un archivo de compilación
Aún en el directorio \Android-sdk\tools\. ejecute el comando:
p>Android crea ui test-project-n<name>-t<Android-SDK-ID>-p<path>
Por ejemplo:
Android create ui test-project-n AutoRunner-t60-p e:\ workspace \ AutoRunner
El nombre anterior es el nombre del paquete jar generado en el futuro, que usted mismo puede definir . android-sdk-ID es el 6 visto arriba; la ruta es la ruta al nuevo proyecto creado por Eclipse; después de ejecutar este comando, el archivo build.xml se generará en el directorio raíz del proyecto. De lo contrario, consulte los pasos anteriores.
4.7. Compile y genere jar
CMD ingrese al directorio del proyecto y luego ejecute ant build, ant se usará para compilar y generar jar. Si tiene éxito, se le preguntará:
Luego se generará el archivo jar en el directorio bin.
4.8. Empujar y ejecutar el tarro.
ADB Push<. Ruta del archivo jar>data/local/tmp
adb shell uiautomator run test<. Nombre del archivo jar>-c <El nombre de la clase en el proyecto, incluido el nombre del paquete>;
Por ejemplo:
ADB push e:\ workspace\AutoRunner\bin\AutoRunner .jar data/local/tmp
ADB shell ui automator runtest autorunner . Runner
Luego podrás ver que el teléfono seguirá automáticamente los pasos en Runner. El efecto específico es ingresar al menú de configuración y luego ingresar al menú "Idioma y método de entrada".
Análisis de código de verbo (abreviatura de verbo)
Primero, introduzcamos algunos de los objetos más importantes.
5.1, objeto UiDevice
El método getUiDevice() puede obtener un objeto de UiDevice, a través del cual se pueden completar algunas acciones del dispositivo:
Haga clic en ( entero x, entero y)
: haga clic en el píxel indicado por (x, y).
Presione Atrás()
Presione Eliminar()
Presione Enter()
Presione Inicio()
Presione Menú()
Presione Buscar()
- Haga clic en el botón correspondiente.
Wake()
-Cuando el teléfono está fuera de la pantalla, activa la pantalla para desbloquearlo.
Deslizar (inicio, inicio, fin, fin, paso)
-Deslizar el teléfono desde (startX, startY) hasta (endX, endY). El número de pasos indica cuántos pasos se completa la distancia de deslizamiento. Cuanto menor sea el número, mayor será el rango de deslizamiento.
setOrientationLeft()
setOrientationRight()
- Gira el teléfono en la dirección correspondiente.
setOrientationNatural()
-Restaura el estado de rotación del teléfono a la normalidad.
5.2. Objeto UiSelector
Este objeto puede entenderse como un objeto condicional, que describe una condición.
A menudo se usa junto con UiObject para obtener algunos (algunos) objetos de control que cumplen las condiciones.
Comprobado (valor booleano)
: describe la relación donde el estado de verificación es val.
Nombre de clase (nombre de clase)
-Describe una relación de objeto llamada className.
Se puede hacer clic (valor booleano)
/g 19920917/article/details/16131565