Robotium_Sikuli

271 visualizações

Publicada em

0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
271
No SlideShare
0
A partir de incorporações
0
Número de incorporações
6
Ações
Compartilhamentos
0
Downloads
4
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Robotium_Sikuli

  1. 1. Robotium e Sikuli –Testes Automatizados Configuração e execução dos scripts ©2015 CITS AMAZONAS - CENTRO INTERNACIONAL DE TECNOLOGIA DE SOFTWARE DO AMAZONAS. ALL RIGHTS RESERVED - CONFIDENTIAL 1
  2. 2. Objetivo ©2015 CITS AMAZONAS - CENTRO INTERNACIONAL DE TECNOLOGIA DE SOFTWARE DO AMAZONAS. ALL RIGHTS RESERVED - CONFIDENTIAL 2 • Utilizar as ferramentas Robotium e Sikuli para automatizar os testes para dispositivos móveis e/ou auxiliar os testes manuais, gerando massa de dados. • Configurar o ambiente de testes para ambas ferramentas. • Obs.: é recomendado que se utilize uma máquina com Windows 64bits e dedicada para os testes automatizados.
  3. 3. Robotium ©2015 CITS AMAZONAS - CENTRO INTERNACIONAL DE TECNOLOGIA DE SOFTWARE DO AMAZONAS. ALL RIGHTS RESERVED - CONFIDENTIAL 3
  4. 4. O que é o Robotium? ©2015 CITS AMAZONAS - CENTRO INTERNACIONAL DE TECNOLOGIA DE SOFTWARE DO AMAZONAS. ALL RIGHTS RESERVED - CONFIDENTIAL 4 • Uma ferramenta de teste open source para dispositivos Android utilizada para White e Black Box Testing, focando mais o Black Box Testing. • Realiza testes unitários. • Testes podem ser executados em dispositivos reais ou AVD sendo desenvolvidos em Java com suporte ao Junit 3.
  5. 5. O que é preciso para utilizar o Robotium? ©2015 CITS AMAZONAS - CENTRO INTERNACIONAL DE TECNOLOGIA DE SOFTWARE DO AMAZONAS. ALL RIGHTS RESERVED - CONFIDENTIAL 5 • SDK (Android Standard Development Kit). • Java SE Development Kit. • Um dispositivo real (Android) ou um AVD. • Robotium (robotium-solo-X.X.jar) * Para facilitar o uso do Robotium, obter o Javadoc dele.
  6. 6. Como configurar o ambiente de testes, utilizando a plataforma Windows? Dica: Manter todos os arquivos na unidade C. ©2015 CITS AMAZONAS - CENTRO INTERNACIONAL DE TECNOLOGIA DE SOFTWARE DO AMAZONAS. ALL RIGHTS RESERVED - CONFIDENTIAL 6 1. Instalar o JDK e o SDK e reiniciar a máquina. 2. Criar uma variável do sistema nova para o SDK. Computador > Propriedades do Computador > Configurações avançadas do sistema > Variáveis de Ambiente > Novo • Nome da variável: Android_SDK • Valor da variável: É o caminho da SDK (Exemplo: C:android-sdk-windows) 3. Adicionar o caminho das pastas platform-tools e tools na variável do sistema Path. Computador > Propriedades do Computador > Configurações avançadas do sistema > Variáveis de Ambiente • Procurar pela variável do sistema Path. • Clicar em Editar e adicionar o caminho das pastas platform-tools e tools. • Obs.: Deve ser adicionado ‘;’ entre dois caminhos. • Exemplo: (...);C:Program FilesJavajdk1.7.0_25bin;C:android-sdk-windowsplatform-tools;C:android-sdk- windowstools Após ter feito este processo, reiniciar a máquina.
  7. 7. Como configurar o ADT no Eclipse IDE? ©2015 CITS AMAZONAS - CENTRO INTERNACIONAL DE TECNOLOGIA DE SOFTWARE DO AMAZONAS. ALL RIGHTS RESERVED - CONFIDENTIAL 7 1. Abrir o ADT localizado no mesmo diretório do SDK (geralmente seu ícone é igual ao do eclipse). 2. Com o ADT aberto, ir em: Window > Preferences > Android 3. Verificar se o caminho da SDK está correto. 4. Clicar em OK.
  8. 8. Testes de Caixa Branca (White Box Test) – O que é? ©2015 CITS AMAZONAS - CENTRO INTERNACIONAL DE TECNOLOGIA DE SOFTWARE DO AMAZONAS. ALL RIGHTS RESERVED - CONFIDENTIAL 8 1. Teste Estrutural. 2. É a investigação detalhada da estrutura lógica interna do código. 3. Inserir as entradas e validar o caminho e transformações destas em saídas esperadas.
  9. 9. Testes de Caixa Branca (White Box Test) – Configuração ©2015 CITS AMAZONAS - CENTRO INTERNACIONAL DE TECNOLOGIA DE SOFTWARE DO AMAZONAS. ALL RIGHTS RESERVED - CONFIDENTIAL 9 É preciso ter o projeto do aplicativo com o código fonte deste. 1. Botão direito em cima do projeto com o código fonte > Android Tools > New Test Project 2. Inserir o nome do projeto de teste e clicar em Next > Selecionar o projeto (que contém o código fonte do aplicativo) como o test target > Clicar em Finish 3. Botão direito em cima do projeto de teste > Build Path > Configure Build Path > Selecionar a aba Libraries 4. Clicar em Add External JAR’s > Selecionar o jar do Robotium (robotium-solo-X.X.jar) 5. Clicar na seta ao lado de robotium-solo-X.X.jar, para abrir as opções deste. 6. Clique duplo em Javadoc location > Selecionar a opção Javadoc in archieve > Clicar em Browse (lado direito de Archieve path) > Selecionar o Javadoc robotium-solo-X.X-javadoc.jar > Clicar em OK
  10. 10. Testes de Caixa Branca (White Box Test) – Estrutura ©2015 CITS AMAZONAS - CENTRO INTERNACIONAL DE TECNOLOGIA DE SOFTWARE DO AMAZONAS. ALL RIGHTS RESERVED - CONFIDENTIAL 10 package br.cits.componentes.test; import com.robotium.solo.Solo; import br.cits.componentes.MainActivity; import android.test.ActivityInstrumentationTestCase2; import junit.framework.TestCase; public class CheckBox2 extends ActivityInstrumentationTestCase2<MainActivity> { private Solo rob = null; public CheckBox2(){ super(MainActivity.class); } protected void setUp() throws Exception { super.setUp(); rob = new Solo(getInstrumentation(), getActivity()); rob.clickOnButton("Check Box"); } protected void tearDown() throws Exception { rob.finishOpenedActivities(); super.tearDown(); } }
  11. 11. Testes de Caixa Branca (White Box Test) – O que é? ©2015 CITS AMAZONAS - CENTRO INTERNACIONAL DE TECNOLOGIA DE SOFTWARE DO AMAZONAS. ALL RIGHTS RESERVED - CONFIDENTIAL 11 1. Teste Funcional. 2. É a técnica de testar sem ter conhecimento da estrutura lógica interna do código. 3. O tester não tem acesso ao código e geralmente interage com a UI do aplicativo, providenciando entradas e examinando as saídas sem saber como e aonde as entradas são processadas.
  12. 12. Testes de Caixa Branca (White Box Test) – Configuração ©2015 CITS AMAZONAS - CENTRO INTERNACIONAL DE TECNOLOGIA DE SOFTWARE DO AMAZONAS. ALL RIGHTS RESERVED - CONFIDENTIAL 12 É preciso ter o APK assinado para testes. Como assinar um APK? No ADT, segue os passos abaixo: 1. File > New > Other > Android Test Project 2. Inserir o nome do projeto de teste e clicar em Next > Selecionar a opção This project > Clicar em Finish 3. Botão direito em cima do projeto de teste > Build Path > Configure Build Path > Selecionar a aba Libraries 4. Clicar em Add External JAR’s > Selecionar o jar do Robotium (robotium-solo-X.X.jar) 5. Clicar na seta ao lado de robotium-solo-X.X.jar, para abrir as opções deste. 6. Clique duplo em Javadoc location > Selecionar a opção Javadoc in archieve > Clicar em Browse (lado direito de Archieve path) > Selecionar o Javadoc robotium-solo-X.X-javadoc.jar > Clicar em OK
  13. 13. Testes de Caixa Branca (White Box Test) – Estrutura ©2015 CITS AMAZONAS - CENTRO INTERNACIONAL DE TECNOLOGIA DE SOFTWARE DO AMAZONAS. ALL RIGHTS RESERVED - CONFIDENTIAL 13 package com.teste; import com.robotium.solo.By; import com.robotium.solo.Solo; import android.annotation.SuppressLint; import android.test.ActivityInstrumentationTestCase2; import junit.framework.TestCase; @SuppressLint("NewApi") @SuppressWarnings("rawtypes") public class Discador extends ActivityInstrumentationTestCase2 { @SuppressWarnings("unchecked") public Discador() { super(launcherActivityClass); } private Solo rob; private static final String LAUNCH_ACTIVITY_NAME = "com.dexetra.dialer.ui.KitkatActivity"; private static Class launcherActivityClass; static { try { launcherActivityClass = Class.forName(LAUNCH_ACTIVITY_NAME); } catch (Exception e) { e.printStackTrace(); } } Pacote e Activity juntos
  14. 14. Como assinar um APK? Obs.: Ter o WinRar instalado na máquina. Voltar para o Teste de Caixa Preta ©2015 CITS AMAZONAS - CENTRO INTERNACIONAL DE TECNOLOGIA DE SOFTWARE DO AMAZONAS. ALL RIGHTS RESERVED - CONFIDENTIAL 14 1. Criar uma pasta no C. 2. Adicionar o APK e o debug.keystore (C:UsersUSUÁRIO.androiddebug.keystore) na pasta criada. 3. Renomear o APK, trocando a sua extensão de .apk para .zip 4. Abrir o arquivo .zip com o WinRar > Excluir a pasta META-INF 5. Dentro da pasta criada, pressionar a tecla shift e clicar com o botão direito do mouse > Selecionar Abrir uma janela de comando aqui 6. No CMD, inserir o comando abaixo, substituindo APK pelo nome do APK: jarsigner -keystore debug.keystore - storepass android -keypass android sigalg MD5withRSA digestalg SHA1 APK.apk androiddebugkey 7. Pressionar a tecla ENTER > Ao terminar o primeiro comando, inserir o abaixo, substituindo APK pelo nome do APK: 8. zipalign 4 APK.apk Temp APK.apk 9. APK assinado com sucesso!
  15. 15. Considerações e Dicas – Geral ©2015 CITS AMAZONAS - CENTRO INTERNACIONAL DE TECNOLOGIA DE SOFTWARE DO AMAZONAS. ALL RIGHTS RESERVED - CONFIDENTIAL 15 Para realizar testes em aplicativos embarcados, o dispositivo deve ter Root. Para que um método seja um teste, seu nome deve ter “test” no ínicio (Ex.: testInserirNota). Separar os testes por funcionalidade do APK, através de métodos. Para facilitar a criação do script, conversar com o Robotium. Exemplo: (sendo private Solo rob;) Rob, please, click on button. = rob.clickOnButton(); Rob, is check box checked? = rob.isCheckBoxChecked(); Utilizar try catch para apontar um possível erro no código (de acordo com a estrutura mostrada na figura abaixo). Para a validação de uma funcionalidade apontada pelo teste, usa-se os Asserts. Exemplo: assertEquals: garante que o valor de algum objeto na tela é igual ao esperado . assertTrue e assertFalse: garante que o retorno de alguma função (pesquisa, comparação, etc...) é true ou false. Para validar se ao clicar no texto 1, o número 1 foi inserido.
  16. 16. Considerações e Dicas – Testes de Caixa Branca ©2015 CITS AMAZONAS - CENTRO INTERNACIONAL DE TECNOLOGIA DE SOFTWARE DO AMAZONAS. ALL RIGHTS RESERVED - CONFIDENTIAL 16 Os ID’s presentes no código podem ser encontrados em: Projeto (que contém o código fonte) > res > layout Executar o projeto (que contém o código fonte) como Android Aplication para verificar o fluxo do aplicativo.
  17. 17. Considerações e Dicas – Testes de Caixa Preta ©2015 CITS AMAZONAS - CENTRO INTERNACIONAL DE TECNOLOGIA DE SOFTWARE DO AMAZONAS. ALL RIGHTS RESERVED - CONFIDENTIAL 17 Para descobrir o nome do pacote e da activity do aplicativo, usar o logcat do próprio ADT. Inserir displayed na busca do logcat. O nome do pacote tem o formato (Ex.: br.cits.teste). A activity vem depois de uma barra ‘/’ (Ex. /.Discador). É preciso adicionar a regra abaixo no manifest do projeto de black box. <instrumentation android:targetPackage=" br.cits.teste" android:name="android.test.InstrumentationTestRunner"/> Os ID’s presentes no código podem ser encontrados no DDMS (Window > Show View > DDMS). Utilizando o DDMS, é possível saber o tipo do botão (image button ou button, por exemplo).
  18. 18. Considerações e Dicas – Testes de Caixa Preta ©2015 CITS AMAZONAS - CENTRO INTERNACIONAL DE TECNOLOGIA DE SOFTWARE DO AMAZONAS. ALL RIGHTS RESERVED - CONFIDENTIAL 18 DDMS
  19. 19. Sikuli ©2015 CITS AMAZONAS - CENTRO INTERNACIONAL DE TECNOLOGIA DE SOFTWARE DO AMAZONAS. ALL RIGHTS RESERVED - CONFIDENTIAL 19
  20. 20. O que é o Sikuli? ©2015 CITS AMAZONAS - CENTRO INTERNACIONAL DE TECNOLOGIA DE SOFTWARE DO AMAZONAS. ALL RIGHTS RESERVED - CONFIDENTIAL 20 • Uma ferramenta de teste capaz de automatizar tudo que se vê na tela do computador. • A ferramenta é orientada por imagens capturadas na tela. • Sua instalação é extremamente fácil e é desejável sua integração com a ferramenta Mobizen.
  21. 21. O que é preciso para utilizar o Sikuli em dispositivos móveis? ©2015 CITS AMAZONAS - CENTRO INTERNACIONAL DE TECNOLOGIA DE SOFTWARE DO AMAZONAS. ALL RIGHTS RESERVED - CONFIDENTIAL 21 • Java SE Development Kit. • Mobizen • Um dispositivo real (Android).
  22. 22. Como configurar o ambiente de testes, utilizando a plataforma Windows? ©2015 CITS AMAZONAS - CENTRO INTERNACIONAL DE TECNOLOGIA DE SOFTWARE DO AMAZONAS. ALL RIGHTS RESERVED - CONFIDENTIAL 22 1. Instalar o JDK e reiniciar a máquina. 2. Instalar o Mobizen e seguir os passos indicados pelo instalador deste. 3. Instalar o Sikuli IDE e seguir os passos indicados pelo instalador deste.
  23. 23. Como criar os scripts de teste? ©2015 CITS AMAZONAS - CENTRO INTERNACIONAL DE TECNOLOGIA DE SOFTWARE DO AMAZONAS. ALL RIGHTS RESERVED - CONFIDENTIAL 23 1. Com o Mobizen sincronizado e espelhado com o dispositivo a ser testado, realizar o passo 2; 2. Com o Sikuli aberto, selecionar as opções de ação localizadas no menu esquerdo e capturar o screenshot da área desejada; 3. Após ter criado o script e salvá- lo, clicar em Executar.
  24. 24. Robotium e Sikuli –Testes Automatizados Lucas Cortazzo Analista de Teste Jr. lucas.cortazzo@citsamazonas.br 55 92 98464-3636 Avenida Açaí, 875 - Bloco E, Distrito Industrial 1 | CEP 69.075-020 - Manaus/AM - Brasil | Tel. +55 92 3308-7200 | Fax. +55 92 3308-8200

×