Contenu connexe
Similaire à Robotium_Sikuli (20)
Robotium_Sikuli
- 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. 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.
- 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. Sikuli
©2015 CITS AMAZONAS - CENTRO INTERNACIONAL DE TECNOLOGIA DE SOFTWARE DO AMAZONAS. ALL RIGHTS RESERVED - CONFIDENTIAL
19
- 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. 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. 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. 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. 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