Apresentação Monkey MonkeyRunner

Embed Size (px)

DESCRIPTION

Apresentação sobre o funcionamento do monkey e monkeyrunner no andriod.

Citation preview

  • AUTOMAO

    Monkey

  • Objetivo

    Estudo de testes android utilizando a ferramenta Monkey.

  • Descrio Segundo a documentao oficial, o

    Monkey um programa que roda sobre um emulador ou dispositivo fsico e gera fluxos pseudo-aleatrios de eventos do usurio como cliques, toques ou gestos. Pode-se usar o Monkey para testes de estresse na aplicao, conforme o nmero de repeties dos testes.

  • FuncionamentoPara realizar os testes com o Monkey basta instalar a ADB na estao de trabalho (sudo apt-get install android-tools-adb) e rodar o Monkey com o comando 'adb shell monkey -p com.your.package.application -v 500'. Caso no saiba o pacote da aplicao basta procurar nas configuraes do app.

  • FuncionamentoPacote da aplicao:

  • Exemplo

    Exemplo de execuo do Monkey para o aplicativo Gmail: adb shell monkey -p com.google.android.gm -v 8000

  • AUTOMAO

    MonkeyRunner

  • Objetivo

    Estudo de testes android utilizando a ferramenta MonkeyRunner.

  • Descrio Diferentemente do Monkey, o MonkeyRunner pode realizar

    testes customizados na aplicao; Segundo a documentao oficial "A ferramenta

    MonkeyRunner prov uma API para escrita de programas que controlam um dispositivo ou emulador Android de fora do cdigo Android.

    Com o MonkeyRunner, pode-se escrever um script Python que instala e executa uma aplicao android;

    Atravs desta ferramenta pode-se enviar comandos de toques, cliques e gestos para o dispositivo android;

    O MonkeyRunner tambm realiza screenshots das interfaces de usurio e armazena as imagens na estao de trabalho.

  • Descrio

    Resumindo, o MonkeyRunner se assemelha ao Monkey. Porm, o fluxo e entradas no so pseudo-aleatrios, mas definidos pelo desenvolvedor.

  • Funcionamento Para realizar os testes deve-se importar o MonkeyRunner fornecido pela SDK do Android, para path do S.O. O MonkeyRunner esta localizado em "/sdk/tools/monkeyrunner".

    A sintaxe para execuo dos scripts monkeyrunner script.py.

    Segundo a documentao, o MonkeyRunner contm 3 classes principais: MonkeyDevice; MonkeyRunner; MonkeyImage.

  • Funcionamento MonkeyDevice:

    Esta classe representa o dispositivo conectado, por ela que se realiza os eventos como touch e press (tocar na tela), drag (arrastar a tela), e at mesmo a funo startActivity() para inicializar o aplicativo.

    MonkeyRunner: A classe MonkeyRunner realiza algumas funes

    como alert() e sleep(). Porm, a principal funcionalidade da classe a captura da conexo com o dispositivo ou emulador atravs do mtodo waitForConnection().

    MonkeyImage: Esta classe basicamente realiza as screenshots e as

    armazena em determinados diretrios na estao de trabalho.

  • Funcionamento

    Executa-se

    script.py pelo

    console

    O Script conecta-

    se ao device

    Instala a apk

    no device

    Executa os comandos de toques e gestos no device

    Salvo as screenshot

    s dos resultados na estao

    Fluxo do MonkeyRunner:

  • Exemplo Para exemplificar, foi realizado um pequeno teste no aplicativo

    ponto-android. Primeiramente o script insere um ponto e edita outro, ento

    deslisa para a lista de pontos e realiza a screenshot da mesma, salvando o arquivo em "./screenshots/listPoints/'arquivo'.png".

    Ainda na tela de lista de pontos o programa segue adicionando uma nova data para insero e edio de pontos. Este processo realizado 10 vezes.

    O script realiza tratamento de excees, ou seja quando houver erro, a classe MonkeyImage realiza screenshot e salva em "./screenshots/errors/'arquivo'.png";

    Aps estes testes, o programa segue testando a exportao dos pontos, tanto para o formato .CSV quanto .JSON;

    Ao final, o script toca nos backs do device testando o histrico, at sair da aplicao.

  • RESULTADOS OBTIDOS Estudo e testes aleatrios com

    Monkey realizados com sucesso. Estudo e testes de estresse com

    Monkey realizados com sucesso. Estudo e testes com fluxo pre-definido

    com MonkeyRunner realizados com sucesso.

    No encontrados erros ou no conformidades no aplicativo ponto-android.

  • CONSIDERAES Monkey

    Monkey uma tima e simples ferramenta da ADB para testes de estresse e aleatrios na aplicao.

    MonkeyRunner Atravs do MonkeyRunner pode-se criar fluxos de

    testes predefinidos para a aplicao, automatizando casos de testes.

    Projetos Futuros Aprofundamento na utilizao da ferramenta

    MonkeyRunner. Pesquisa e testes de/em outras plataformas como

    Robotium, Robolectric, LessPainful e Espresso.

  • Obrigado.

    Emanuel Victor de Oliveira Fonseca [email protected]

    Slide 1Slide 2Slide 3Slide 4Slide 5Slide 6Slide 7Slide 8Slide 9Slide 10Slide 11Slide 12Slide 13Slide 14Slide 15Slide 16Slide 17