Robotium Tutorial: Android Framework de Teste com Exemplo
⚡ Resumo Inteligente
Robotium é um open-source Android Framework de automação de testes que controla aplicativos nativos e híbridos por meio de sua interface de usuário, permitindo que um testador crie scripts de cenários funcionais, de sistema e de aceitação que abrangem diversas áreas. Android actividades.
O que é a Robotium?
Robotium é um Android Framework de testes que automatiza casos de teste para aplicações nativas e híbridas. Utilizando RobotiumUm desenvolvedor pode criar casos de teste de GUI automatizados e robustos para Android aplicações. Um desenvolvedor também pode escrever cenários de teste funcionais, de sistema e de aceitação que abrangem várias Android actividades.
Robotium Estrutura de teste
A norma Android A estrutura de testes apresenta as limitações listadas abaixo.
- Incapaz de lidar com múltiplas atividades
- O desempenho da execução do teste é lento
- Os casos de teste são complexos e difíceis de implementar.
O Robotium A estrutura é a melhor escolha para realizar testes em um Android aplicação.
Robotium é um framework de código aberto e é considerado uma extensão do Android framework de testes. Usando RobotiumUm desenvolvedor pode criar casos de teste de GUI automatizados e robustos para Android aplicações. Além disso, um desenvolvedor pode escrever cenários de teste funcionais, de sistema e de aceitação que abrangem múltiplas aplicações. Android actividades.
A tabela abaixo resume os recursos avançados que diferenciam Robotium a partir da estrutura de instrumentação simples.
Recursos avançados de Robotium
Robotium Classes de casos de teste
Robotium O pacote inclui um pequeno conjunto de classes para testes, e o exemplo do artigo importa o pacote legado. com.jayway.android.robotium.solo pacote. Essas classes suportam casos de teste que abrangem várias atividades, e Solo está integrado com ActivityInstrumentationTestCase2.
Observação: atual Robotium as versões expõem a mesma classe sob a versão mais curta. com.robotium.solo pacote, enquanto a coordenada do Maven permanecia com.jayway.android.robotium:robotium-soloAjuste a importação para corresponder à versão do arquivo JAR que você realmente adicionou ao projeto.
O diagrama abaixo mostra como a classe Solo se posiciona acima do caso de teste de instrumentação.
Integração de Robotium e ActivityInstrumentationTestCase2
Um testador pode escrever casos de teste sem conhecimento do projeto da aplicação, o que torna essa abordagem uma forma de... teste de caixa pretaEssa é uma vantagem excepcional em comparação com a planície. Android classes de casos de teste.
Como usar Robotium
Para utilizar o Robotium na sua Android Para realizar o projeto de teste, você precisa seguir os passos abaixo.
Como usar Robotium
Para garantir a qualidade do seu Android Para se candidatar, siga o procedimento de quatro etapas abaixo.
- Elabore a especificação do teste.
- Desenvolva o programa de testes.
- Execute o caso de teste no dispositivo alvo.
- Recolha o resultado do teste
O fluxograma abaixo coloca essas quatro etapas em ordem.
Android procedimento de teste de aplicação
ETAPA 1) Especificação de Teste de Projeto
Este é o primeiro passo para testar sua aplicação. Nesta etapa, você define o alvo a ser testado. Android A aplicação possui diversos alvos que precisam ser testados, como a interface do usuário, atividades, componentes e serviços. Definir claramente os alvos ajuda a alcançar uma ampla cobertura de testes.
- Planeje os tipos de teste que devem ser realizados (teste unitário, teste funcional, teste de sistema).
- Crie cada um caso de teste para cobertura máxima enquanto mantémping O número de casos de teste é pequeno. Quanto mais código você testar, maior a chance de detecção precoce de erros.
PASSO 2) Escreva o programa de teste
Esta seção orienta você na escrita de um Android programa de teste usando Android JUnit testes e RobotiumSuponha que você já tenha desenvolvido um Android programa chamado OláAndroidEste programa possui as funções descritas abaixo.
- Exiba o texto "Olá mundo!" na tela.
- Exibir um "Olá"Android mensagem exibida quando o usuário pressiona o botão “Iniciar”.
A captura de tela abaixo mostra o aplicativo em teste sendo executado em um dispositivo.
OláAndroid Formulário on line
Requerimentos do sistema
- O Android A plataforma é fornecida com um sistema pré-integrado. JUnit 3 estrutura, que é o que
ActivityInstrumentationTestCase2Constrói. - Para criar um Android projeto de teste de EclipseSua máquina precisa de um motor funcionando. Android Instalação do SDK.
- Instale o atual Android SDK da plataforma em vez de uma versão antiga fixada.
As capturas de tela neste guia passo a passo usam Eclipse com o plugin ADT, que era o conjunto de ferramentas padrão quando o exemplo foi escrito. Eclipse O ADT não é mais suportado, portanto, em uma máquina moderna você precisaria download Android Studio em vez disso, reutilize o mesmo código de teste dentro de um Gradle módulo.
Para o Robotium framework de testes, faça o download do Robotium biblioteca da Robotium página do projeto.
Crie uma Android Projeto de Teste
- Clique em Arquivo -> Novo -> Outro
- Escolha Android -> Android Teste o projeto conforme mostrado na figura abaixo e, em seguida, selecione Avançar.
Crie um novo Android projeto de teste
Escreva o nome do seu projeto de teste. De acordo com a convenção de nomenclatura, o projeto de teste deve ser chamado de “Olá”.AndroidTeste".
Adicione o nome do projeto de teste com base na convenção de nomenclatura.
Selecione a aplicação de destino que será testada. Neste caso, é a aplicação Hello.AndroidEm seguida, clique em Concluir.
Selecione a aplicação alvo em teste.
Criar suítes de testes
Com base na sua especificação de teste, você agora cria conjuntos de testes para o seu programa de testes. Você pode escolher entre várias opções. teste de software frameworks. Este tutorial usa o padrão Android estrutura de teste ActivityInstrumentationTestCase2Para testar com Robotium, Adicione o Robotium arquivo de biblioteca para um libs diretório dentro da pasta do seu projeto.
Um caso de teste define o ambiente usado para executar vários testes. Para definir um caso de teste, siga a estrutura do programa abaixo.
- Implemente uma subclasse de TestCase.
- Defina variáveis de instância que armazenem o estado do fixture.
- Inicialize o estado do dispositivo sobrescrevendo o método setUp().
- Limpe os dados após um teste sobrescrevendo o método tearDown().
O diagrama abaixo representa essa estrutura no programa de teste que você está prestes a escrever.
Estrutura do programa de teste
package com.example.helloandroid.test; import com.example.helloandroid.HelloAndroid; import com.jayway.android.robotium.solo.Solo; import android.test.ActivityInstrumentationTestCase2; import android.widget.TextView; public class HelloAndroidTest extends ActivityInstrumentationTestCase2 <HelloAndroid> { private HelloAndroid mActivity; private TextView mView; private String resourceString; private Solo solo; public HelloAndroidTest () { // TODO Auto-generated constructor stub super("com.example.helloandroid",HelloAndroid.class); } @Override protected void setUp() throws Exception { // TODO Auto-generated method stub // super.setUp(); mActivity = this.getActivity(); solo = new Solo(getInstrumentation(),getActivity()); mView = (TextView) mActivity.findViewById(com.example.helloandroid.R.id.textview2); resourceString = mActivity.getString(com.example.helloandroid.R.string.hello_world); } @Override protected void tearDown() throws Exception { // TODO Auto-generated method stub //super.tearDown(); solo.finishOpenedActivities(); } public void testPrecondition() { assertNotNull(mView); } /* test Target application contains a text display "Hello World!"*/ public void testSearchText() { assertEquals(resourceString,(String) mView.getText()); } /* test HelloAndroid Activity on target application is exist*/ public void testCurrentActivity() throws Exception { solo.assertCurrentActivity("wrong activity", HelloAndroid.class); } /* test Application UI contains "Start" button */ /* send event click button to target application */ public void testSearchButton() throws Exception { boolean found = solo.searchButton("Start"); solo.clickOnButton("Start"); assertTrue(found); } }
Adicionando casos de teste
- No mesmo pacote que o conjunto de testes, crie as classes TestCase.
- Para testar uma determinada atividade, por exemplo, OláAndroid, crie um caso de teste que estenda ActivityInstrumentationTestCase2Android>.
- Dentro dessa classe, o testador obtém a atividade em teste através do método getActivity().
- Crie um teste para a atividade livremente, adicionando um método chamado “teste + nome do método original”.
- Dentro do método de teste, o testador pode usar Android JUnit Funções para comparar o valor real com o valor esperado. Esses métodos são mostrados abaixo.
A tabela abaixo lista os métodos de asserção e interação mais frequentemente usados nas duas estruturas.
Exemplos de métodos de Robotium e Android estrutura de teste
O conjunto de testes acima verifica se a interface gráfica do aplicativo exibe o texto "Olá, Mundo!" e contém um botão chamado "Iniciar".
ETAPA 3) Executar teste
Após concluir a escrita do seu programa de teste, execute-o seguindo os passos abaixo.
- Conecte um Android Conecte o dispositivo ao seu PC ou inicie um emulador caso nenhum dispositivo físico esteja disponível.
- Na sua IDE, clique com o botão direito do mouse no projeto de teste e escolha Executar como → Android Teste unitário.
A captura de tela abaixo mostra a execução do teste sendo iniciada a partir da IDE.
Executando o programa de teste
Além de executar o teste a partir da IDE, você pode executá-lo a partir da linha de comando. Neste programa de teste, o pacote de teste é com.example.helloandroid.testEm um terminal Linux, use o seguinte comando para executar todos os testes desse pacote.
$ adb shell am instrument -w -e package com.example.helloandroid.test
PASSO 4) Obtenha o resultado do teste
Após a execução do teste, você coleta os resultados.
Neste programa de teste, quatro métodos de teste são executados. Na execução abaixo, todos os casos de teste foram aprovados.
Resultado do teste quando todos os casos de teste forem aprovados.
Se um caso de teste falhar, a saída será exibida, mostrando quais casos de teste falharam.
Resultado do teste quando um caso de teste falha
fonte Code Exemplos
Este artigo inclui exemplos de código-fonte que ajudam você a acompanhar o tutorial com mais clareza e a assimilar os detalhes técnicos rapidamente.
- OláAndroid: o aplicativo em teste.
- OláAndroidTestar: o programa de teste usando o Android estrutura de teste.
Se você quer comparar Robotium Com relação às outras opções neste espaço, veja o teste de aplicativo móvel guia, o Appium tutorial e o resumo de ferramentas de teste de aplicativos móveis.

.png)
.png)
.png)



.png)

.png)
.png)

.png)
.png)