prueba de estabilidad de la presión del mono APP

En primer lugar, utilice la escena del mono

  las pruebas de la plataforma Mono Android es un medio de automatización de pruebas al programa de prueba de presión en el dispositivo por un usuario toca la pantalla del mono simula deslizamiento trackball (bola de seguimiento), un programa de operación de tecla y similares, ¿cuánto tiempo durará el programa detecta la anomalía se produce

Se utiliza para hacer

  • ensayo de estabilidad de presión
  • Hacer pruebas automatizadas
  • Mono prueba de estrés importante para Android automáticamente un gadget prueba de esfuerzo, el objetivo principal es poner a prueba si la aplicación se bloqueará (bloqueo)

mono cuándo usar?

  • Tales como su producto es estable, no hay particular, entonces muchos errores, por lo general utilizado para la prueba de mono
  • Percibiendo la estabilidad aplicaciones, robustez (sea o no el flash trasero puede ocurrir, accidente); prueba del sistema

Lo que parece aplicación anormal

Dos, procedimientos de prueba mono

  • 1, se inicia la máquina emulador de Android / Real, la forma de conectar la necesidad real de la máquina para activar el modo desarrollador, es muy simple en Baidu
  • 2. Haga clic en Ejecutar - escriba cmd --- en la interfaz de línea de comandos
  • 3, ver la conexión del dispositivo: adb devices
    • Yagami simulador de puerto predeterminado 62001  
    • ADB conectar 127.0.0.1:62001 
  • El estado de la conexión telefónica, introduzca el comando de interfaz de línea de comandos a prueba en el mono APP
    • adb shell mono -p com.lemon.lemonban --ignore-accidentes---ignore tiempos de espera --throttle 400 -v -v -v -s 3500 10000> D: \ monkey_log.txt  
    • Comando el punto principal: Especificar el nombre del paquete de instalación, ignorar colapso, ignorar el tiempo de espera de intervalo, realice 100.000, especifique la salida del registro a nivel local  
  • Si necesita especificar el equipo de mono, sintaxis básica es la siguiente:
    • $ Adb -S [dispositivo] cáscara de mono [opciones]  

En tercer lugar, la forma de obtener el nombre del paquete de APP

  Durante la prueba que necesitamos APP nombre del paquete para comprobar si el caso va a colapsar 

1, o una máquina real simulador de computadora y enlaces

2, la máquina real o emulador de aplicaciones abierta APP

3. Introduzca el nombre del paquete para obtener las aplicaciones abiertas actuales, comando:

  • Android 8.0 los siguientes comandos de entrada:
    • adb shell actividad dumpsys encuentro "mFocusedActivity"  
  • Android 8.0 o posterior de comandos:
    • actividad adb shell dumpsys | encontrar "mResumedActivity"  

Cuatro, mono comando

ejecuciones 1.Money

  • Generalmente pequeños proyectos de cien mil veces, un millón de veces grandes proyectos

2. aplicación de prueba de control principal:

  • adb shell mono -p com. lemon.lemonban --ignore-accidentes---ignore tiempos de espera --throttle 400 -v -v -v -s 3500 10000> D: \ monkey_log.txt
    • intérprete de comandos: especifique el nombre del paquete de instalación, ignorar colapso, ignorar el tiempo de espera de intervalo, realice 100.000, especifique la salida del registro a nivel local

3. cada campo

-pag

  • Las restricciones para la especificación de este parámetro con uno o más paquetes (el paquete, es decir, APP). Después de especificar el paquete, mono sólo permitirá que el sistema se inicie APP especifica, si no se especifica el paquete, el sistema permitirá que los dispositivos para iniciar todos los APP.
  • Especifica un paquete: shell mono adb -p tv.danmaku.bili 10
  • Especificar varios paquetes: Mono adb shell -p cn.emoney.acg -p cn.emoney.wea -p cn.emoney.acg 100
  • adb shell mono 100: nombre del paquete -p no se especifica
    • No especifique un nombre de paquete, el paquete de instalación se le asignará al azar a su teléfono, se prueba el mono de todo el sistema  
  • com.tencent.edu para el nombre del paquete, 100 es el recuento de eventos (es decir, dejar que el programa de usuario al azar mono para simular el evento 1000)

--ignore-choques

  • No haga caso de accidente
    • Se utiliza para especificar la aplicación se bloquea cuando (Fuerza y ​​cerrar de error), mono si se debe detener la carrera. Si utiliza este parámetro, incluso si la aplicación se bloquea, mono todavía enviar eventos hasta que se complete el recuento de eventos.
      • Porque cuando la ejecución Monke si se encuentra con un problema de aplicación se cierra, la parada por defecto de funcionamiento, es necesario hacer caso omiso de accidente
  • comando
    • adb shell mono -p cn.emoney.acg --ignore-estrella 1000
      • Incluso ACG probar el programa se bloquea, mono todavía continuará enviando eventos hasta que el número de eventos de 1000 hasta la fecha
    • mono adb shell -p cn.emoney.acg 1000
      • Durante la prueba, si el programa se bloquea ACG, mono dejará de funcionar

--ignore-tiempos de espera

  • No haga caso de tiempo de espera
    • Cuando se utiliza una aplicación especificar la ocurrencia de errores de ANR (solicitud no responde), mono si se debe detener la carrera. Si utiliza este parámetro, ANR, incluso si se produce el error de aplicación, mono todavía enviar eventos hasta que se complete el recuento de eventos.  
  • comando
    • adb shellmonkey -p cn.emoney.acg --ignore-tiempos de espera de 1000  

--throttle <milisegundos>

  • Especificación de un retraso entre la operación del usuario (es decir, incidente), en milisegundos; el intervalo de tiempo entre los eventos designados  
  • comando
    • adb shell mono -p cn.emoney.acg -throttle 5000 100

-v

  Niveles de registro: información de realimentación nivel especifica (nivel de información del registro es el nivel de detalle), un total de tres sub-niveles, que corresponden respectivamente a los parámetros de la siguiente forma:

  • Nivel de registro Level0  
    • 示例: adb shell mono -p cn.emoney.acg -v 100  
    • Descripción Valor por defecto, sólo una pequeña cantidad de información sobre el indicador de arranque, los resultados completos y finales de las pruebas, etc.  
  • Nivel de registro de nivel 1  
    • 示例: adb shell mono -p cn.emoney.acg -v -v 100  
    • Descripción Proporciona registros más detallados, incluyendo la información del evento se envía a cada uno de Actividad      
  • Nivel de registro de nivel 2: el uso general de esta    
    • 示例: adb shell mono -p cn.emoney.acg -v -v -v 100      
    • La descripción más detallada del registro, incluyendo la prueba comprueba / Información sobre la actividad sin control

-s

  Especifica el valor de inicialización generador de números pseudo-aleatorios, la secuencia de eventos si la misma semilla, el Mono dos pruebas también produjo la misma.

  • comando
    • Monkey 测试 1: mono adb shell -p cn.emoney.acg -s 10 100  
    • Monkey 测试 2: mono adb shell -p cn.emoney.acg -s 10 100  
    • 10 es -S número pseudo-aleatorio, 100 es el número de eventos  
  • explicación
    • Dos pruebas el efecto es el mismo que la secuencia de funcionamiento de usuarios simulados  
    • (Cada serie de operaciones que consiste en cierta secuencia, es decir, una secuencia de operaciones) es el mismo
    • Aunque la secuencia de operaciones se genera aleatoriamente, pero si especificamos el mismo valor de la semilla,  
    • secuencia aleatoria de operaciones se puede garantizar para generar dos pruebas son idénticos, por lo que el funcionamiento de la secuencia pseudo aleatoria;  

--ignore-security-excepciones

  • No haga caso de la licencia anormal
    • Cuando se usa para especificar (tal como una licencia de certificado, licencia de red, etc.) se produce un error de solicitud de permiso, mono si se debe detener la carrera. Si utiliza este parámetro, incluso si se produce el error de solicitud de licencia, mono todavía enviar eventos hasta que se complete el recuento de eventos.  
  • comando
    • adb shell mono -p cn.emoney.acg --ignore-security-excepción 1000

--randomize-acelerador

  • Aumentar el tiempo transcurrido entre eventos
    • Inserción de retardo aleatorio entre eventos, tiempo de retardo aleatorio en el rango de 0 a la posición del acelerador, en milisegundos  
    • Si un retardo aleatorio, el retardo fijo debe ser añadido --throttle <milisegundos>  
  • comando
    • adb shell mono -p com.lemon.lemonban --throttle 5000 --randomize-acelerador 100  
    • Descripción: Realiza un centenar de veces mono eventos aleatorios, cada evento no es fijo intervalo entre 0-5000 milisegundos  

--pkg-lista blanca-archivo

  • Lista blanca, seguido por el archivo TXT
    • 1, el primer paso en la lista blanca de configurar el nombre del paquete por escrito dentro de un archivo txt, recuerda la ruta y el nombre del archivo están en Inglés  
      • D: whitelist.txt    
    • 2, este archivo Andrews sacó nuestras máquinas entran en  
      • / Datos / local / tmp / abajo    
    • archivos de extracción en el teléfono  
      • ADB empujar D: \ whitelist.txt / data / local / tmp /    
      • Tenga en cuenta que tanto la barra invertida    
  • comando
    • adb shell mono---pkg lista blanca-archivo /data/local/tmp/whitelist.txt 100    

--pkg --archivo de lista negra

  • lista de negro, seguido por el archivo txt
    • archivos de extracción en el teléfono  
      • ADB empuje D: \ blacklist.txt / data / local / tmp /    
      • Tenga en cuenta que tanto la barra invertida    
  • comando
    • adb shell mono---pkg lista negra-archivo /data/local/tmp/blacklist.txt 100  

Cinco, análisis de registros del mono

normalmente

  • Si la prueba es satisfactoria ejecución del mono se ha completado, el registro de la última, se imprimirá el número del evento que se está ejecutando y el tiempo que tarda; // mono nombre acabada del Ejecutivo completó \

excepciones

  • Después de error en la prueba del mono, los pasos de análisis generales
  • El mono ve registro (nota que la primera y la información swith anormal)
  • 1. Preguntas sin respuesta: Búsqueda de "ANR" en el registro
  • 2. Crash: Buscar registro "excepción" (si aparece puntero nulo, NullPointerException) es sin duda un error
  • Mono ejecutar la interrupción, finalmente capaz de ver el número actual de ejecuciones en el registro

análisis de registros excepción APP: Choque, flash back, ANR

En sexto lugar, el porcentaje de tiempo

1, el formato del comando

mono adb shell {+} parámetros de evento de la cantidad de eventos

adb shell mono 1000

  ejecutar 1000

2, ejemplos

--pct toque

  Ajustar el porcentaje del evento touch (toque el evento es un evento de abajo-arriba, que se produce en una única ubicación en la pantalla)

comando

adb shell mono -p com.tencent.edu --pct-touch 10 --pct-rotación 40 -V -V -V 1000

3, el porcentaje de otros detalles

--pct toque

    • Haga clic en Eventos de ajuste porcentual, de abajo a arriba, numerados del 0

--pct-motion

    • El ajuste de porcentaje de un movimiento evento, de cremallera lineal, numerados 1

--pct-pinchzoom

    • Ajuste de dos compresión escalable se refiere al porcentaje del gesto, una operación gesto tales como zoom, No. 2

--pct-trackball

    • Ajustar el porcentaje de tiempo que una bola de seguimiento, no se usa comúnmente, el número de teléfono es 3 ahora casi no hay bola de desplazamiento, pero el evento curva de deslizamiento balanceo de la bola está incluido en el evento, cuando las necesidades del programa a medir pueden utilizar este parámetro de la curva de diapositivas

--pct-rotación

    • Porcentaje ajustar la rotación de los acontecimientos, vertical de la pantalla horizontal de la pantalla, el número 4

--pct-nav

    • Porcentaje evento de navegación de ajuste, numerados 5, incluyendo arriba y hacia abajo, según lo indicado por el dispositivo de entrada de dirección) y teléfono antiguo arriba y abajo teclas, no la máquina inteligente

--pct-majornav

    • El ajuste del porcentaje del evento principal de navegación, número 6, por ejemplo, el botón central, botón de rebobinado, tecla de menú

--PCt-syskeys

    • El ajuste del porcentaje del "sistema" evento clave, Nº 7, estos botones generalmente reservado para uso del sistema, tales como hogar, de vuelta, de inicio de llamada, finalización de llamada, control de volumen

--pct-appswitch

    • Los eventos de conmutación aplicación de ajuste de porcentaje, número 8

--pct-flip

    • Ajustar el teclado evocar porcentajes ocultos, número 9

--pct-AnyEvent

    • Además del evento anterior salto, el porcentaje de otros eventos, No. 10, tales como botones, en los otros botones y los dispositivos similares no son comúnmente utilizados

 

 

******* Por favor, respecto del original, en cuanto a la reimpresión, por favor indique la fuente: Tomado de: https://www.cnblogs.com/shouhu/ , gracias! ! ******* 

Supongo que te gusta

Origin www.cnblogs.com/shouhu/p/12573695.html
Recomendado
Clasificación