Testes de Instrumentação com Espresso 

Tempo de leitura: 3 minutos
Qualidade e Testes
por em 16 de abril de 2020

Na última semana, o time de testes da SoftDesign realizou mais uma edição da Comunidade de Prática (CoP) de Qualidade, desta vez, totalmente online. Na ocasião, efalei sobre a minha experiência como Analista de Testes utilizando a ferramenta Espresso em testes de instrumentação. 

Os testes de instrumentação podem ser definidos como testes mobile que são executados em um aparelho Android ou em um emulador. Ou seja, são testes que podem interagir diretamente com as funções do aparelho – com eles, reduzimos a necessidade de realizar mocks, por exemplo. 

Os testes instrumentados ficam em uma pasta específica junto com o projeto/aplicativo a ser testado – para isso, existe uma pastchamada androidTest. Há diversos tipos de testes que podem ser executados. Semelhante a pirâmide de testes, abordada previamente, a base reflete os testes mais rápidos e baratos e o topo os mais caros e demorados, como vemos abaixo:  

testes-de-isntrumentacao

Ao elaborar a estratégia para este projeto, o Android Espresso foi a melhor solução encontrada para executar os testes. Ela é uma ferramenta de testes de instrumentação orientada para a User Interface (UI).  

Como utilizar o Android Espresso 

Para utilizar o Espresso, ele deve ser importado no sistema de dependências. No nosso caso, utilizamos o Gradle. Realizamos a ação da seguinte maneira:  

androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'

Para auxiliar na organização e execução dos testes, também utilizamos o AndroidJunit4. Assim como o Espresso, ele deve ser adicionado no Gradle, da seguinte forma: 

testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 
androidTestImplementation 'com.android.support.test:rules:1.0.2' 
androidTestImplementation 'com.android.support.test:runner:1.0.2' 

AndroidJunit4 fornece anotações relevantes para os testes, tais como: @Before, @After, @test, @Rule, entre outras. 

Pilares do Espresso 

O Espresso possui inúmeros recursos. Nesse sentido, acredito que três deles podem ser considerados os principais, são eles:

OnView/OnData – funciona como localizador dos elementos que se encontram na página e que queremos interagir;

Perform – realiza ações sobre o localizador que foi encontrado pelo Onview/OnData, como por exemplo: clique de botão, inserção de texto;

Check – realiza validações sobre os itens encontrados pelo OnView/OnData, tais como: validar se o elemento está ‘clicável’, se ele está disponível, se ele existe, entre outros.

Por fim, o script na ferramenta pode ser escrito a partir desses tópicos. Dessa forma, fica mais fácil desenvolver qualquer função dentro do Espresso. Se você quiser saber mais sobre a ferramenta, pode acessar esse link aqui.

Sugestões ou críticas para nosso blog? Entre em contato pelo endereço mkt@softdesign.com.br.