Teste Móvel - Estrutura Robotium
Robotium é uma estrutura de teste de código aberto para escrever casos de teste de caixa cinza automática para aplicativos Android. Com o suporte do Robotium, os desenvolvedores de casos de teste podem escrever cenários de teste de função, sistema e aceitação, abrangendo várias atividades Android.
Robotium pode ser usado para testar aplicativos onde o código-fonte está disponível e aplicativos onde apenas o arquivo APK está disponível.
Benefícios do Robotium
Fácil de escrever, código mais curto. Tempo mínimo necessário para escrever casos de teste sólidos.
Você pode desenvolver casos de teste poderosos, com conhecimento mínimo do aplicativo em teste.
A estrutura lida com várias atividades Android automaticamente. A legibilidade dos casos de teste é muito melhorada, em comparação com os testes de instrumentação padrão.
Cronometragem e atrasos automáticos.
Segue automaticamente a atividade atual.
Encontra automaticamente visualizações.
Toma automaticamente suas próprias decisões (por exemplo: quando rolar, etc.)
Nenhuma modificação na plataforma Android.
A execução do teste é rápida.
Os casos de teste são mais robustos devido à vinculação do tempo de execução aos componentes da GUI.
Integra-se perfeitamente com Maven ou Ant.
Desvantagens do Robotium
Robotium não pode lidar com componentes Flash ou da Web.
Ele lida com apenas um aplicativo por vez.
Ele não pode simular o clique no teclado virtual usando Robotium (é necessário usar 'enterText ()' para inserir texto em um campo EditText)
Robotium não pode interagir com as notificações da barra de status - ou seja, puxar para baixo a área de notificação e clicar em uma notificação especificada.
Pode ser um pouco lento, especialmente em dispositivos mais antigos.
Como usar o Robotium
Step 1- O pré-requisito para usar o Robotium é o Java SDK (mínimo 1.6). Se você não tiver o Java instalado em seu sistema, siga as etapas abaixo.
Baixe JDK e JRE da Oracle Technology Network
Aceite o contrato de licença.
Instale o JDK e o JRE.
Defina a variável de ambiente conforme mostrado na captura de tela abaixo.
Step 2- Baixe o Android Studio a partir do Android Studio
- Clique duas vezes no exe e execute o instalador.
- Continue com todas as opções padrão.
- Defina o ANDROID_HOME.
Step 3 - Instale imagens e ferramentas Android.
- Clique em SDK Manager -
Selecione o pacote necessário. Por exemplo, se estamos construindo um aplicativo para Android 4.4.2, certifique-se de que os seguintes pacotes estejam marcados na seção Ferramentas -
- Android SDK Tools rev 22.6.3
- Ferramentas da plataforma Android rev 19.0.1
- Ferramentas de construção do Android SDK rev 19.1
Step 4 - Crie dispositivos virtuais Android.
- Abra o Android Studio e clique em AVD Manager na barra de ferramentas. AVDs nos permitem testar e executar nossos aplicativos Android.
Use as seguintes configurações para um AVD Nexus5 -
- Dispositivo - Nexus 5 (4,95, 1080 x 1920; xxhdpi)
- Destino - APIs x86 do Google (Google Inc.) - API de nível 19
- (Certifique-se de selecionar o destino com APIs do Google no nome.)
- CPU - Intel Atom (x86)
- Marque a caixa para Usar GPU Host
- Clique OK
Agora você deve ver o AVD que criou no AVD Manager, onde pode iniciá-lo, excluí-lo ou criar outro!
Step 5- Arquivo Jar do Robotium Baixe o arquivo Jar do Robotium da RobotiumTech
Teste um aplicativo com Robotium
Para testar um aplicativo com Robotium, siga as etapas abaixo -
Step 1 - Crie um projeto de teste no Android Studio denominado “RobotiumTest”.
Escolha todas as opções padrão até chegar à página principal.
Step 2 - Copie o arquivo jar Robotium para a pasta Lib do projeto.
Step 3 - Adicione a dependência no arquivo build.gradle em src pasta.
androidTestCompile 'com.jayway.android.robotium: robotium-solo-5.5.3'
Step 4 - Sincronize o Gradle.
Step 5 - Crie a classe de teste da seguinte maneira -
package com.example;
import com.robotium.solo.Solo;
import android.test.ActivityInstrumentationTestCase2;
import android.widget.EditText;
import android.widget.TextView;
public class MyTestClass extends ActivityInstrumentationTestCase2<TestActivity>{
private Solo solo;
public MyTestClass() {
super(TestActivity.class);
}
public void setUp() throws Exception {
solo = new Solo(getInstrumentation(), getActivity());
}
public void testCase() throws Exception {
String vResult="TestExample";
EditText vEditText = (EditText) solo.getView(R.id.edit1);
solo.clearEditText(vEditText);
solo.enterText(vEditText,"TestExample");
solo.clickOnButton("Submit");
assertTrue(solo.searchText(vResult));
TextView textField = (TextView) solo.getView(R.id.txt1);
//Assert to verify result with visible value
assertEquals(vResult, textField.getText().toString());
}
@Override
public void tearDown() throws Exception {
solo.finishOpenedActivities();
}
}
Step 6- Salve todas as alterações. Certifique-se de que não haja erros.
Step 7- Agora, execute o caso de teste. Se o caso de teste for bem-sucedido, você deverá ver a seguinte saída!