Espresso Testing Framework - instruções de configuração
Neste capítulo, vamos entender como instalar o framework espresso, configurá-lo para escrever testes espresso e executá-lo em nosso aplicativo Android.
Pré-requisitos
Espresso é uma estrutura de teste de interface do usuário para testar aplicativos Android desenvolvidos na linguagem Java / Kotlin usando Android SDK. Portanto, o único requisito do espresso é desenvolver o aplicativo usando Android SDK em Java ou Kotlin e é aconselhável ter o Android Studio mais recente.
A lista de itens a serem configurados corretamente antes de começarmos a trabalhar na estrutura do espresso é a seguinte -
Instale o Java JDK mais recente e configure a variável de ambiente JAVA_HOME.
Instale o Android Studio mais recente (versão 3.2. Ou superior).
Instale o Android SDK mais recente usando o SDK Manager e configure a variável de ambiente ANDROID_HOME.
Instale a ferramenta Gradle Build mais recente e configure a variável de ambiente GRADLE_HOME.
Configurar EspressoTesting Framework
Inicialmente, a estrutura de teste do espresso é fornecida como parte da biblioteca de suporte do Android. Posteriormente, a equipe do Android fornece uma nova biblioteca Android, AndroidX, e move o desenvolvimento da estrutura de teste mais recente do espresso para a biblioteca. O desenvolvimento mais recente (Android 9.0, API de nível 28 ou superior) da estrutura de teste do espresso será feito na biblioteca AndroidX.
Incluir a estrutura de teste do espresso em um projeto é tão simples quanto configurar a estrutura de teste do espresso como uma dependência no arquivo gradle do aplicativo, app / build.gradle. A configuração completa é a seguinte,
Usando a biblioteca de suporte do Android,
android {
defaultConfig {
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
}
dependencies {
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espressocore:3.0.2'
}
Usando a biblioteca AndroidX,
android {
defaultConfig {
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
}
dependencies {
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.androidx.test:runner:1.0.2'
androidTestImplementation 'com.androidx.espresso:espresso-core:3.0.2'
}
testInstrumentationRunner em android / defaultConfig define a classe AndroidJUnitRunner para executar os testes de instrumentação. A primeira linha nas dependências inclui a estrutura de teste JUnit , a segunda linha nas dependências inclui a biblioteca do executor de teste para executar os casos de teste e, finalmente, a terceira linha nas dependências inclui a estrutura de teste espresso.
Por padrão, o Android Studio define a estrutura de teste do espresso (biblioteca de suporte do Android) como uma dependência ao criar o projeto android e o gradle fará o download da biblioteca necessária do repositório Maven. Vamos criar um aplicativo simples para Android Hello world e verificar se a estrutura de teste do espresso está configurada corretamente.
As etapas para criar um novo aplicativo Android são descritas abaixo -
Inicie o Android Studio.
Selecione Arquivo → Novo → Novo projeto.
Digite o nome do aplicativo (HelloWorldApp) e o domínio da empresa (espressosamples.tutorialspoint.com) e clique em Avançar .
Para criar um projeto Android,
Selecione API mínima como API 15: Android 4.0.3 (IceCreamSandwich) e clique em Avançar.
Para segmentar dispositivos Android,
Selecione Atividade vazia e clique em Avançar .
Para adicionar uma atividade ao celular,
Insira o nome da atividade principal e clique em Concluir .
Para configurar a atividade,
Depois de criar um novo projeto, abra o arquivo app / build.gradle e verifique seu conteúdo. O conteúdo do arquivo é especificado abaixo,
apply plugin: 'com.android.application'
android {
compileSdkVersion 28
defaultConfig {
applicationId "com.tutorialspoint.espressosamples.helloworldapp"
minSdkVersion 15
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espressocore:3.0.2'
}
A última linha especifica a dependência da estrutura de teste do espresso. Por padrão, a biblioteca de suporte do Android está configurada. Podemos reconfigurar o aplicativo para usar a biblioteca AndroidX clicando em Refactor → Migrate to AndroidX no menu.
Para migrar para o Androidx,
Agora, o app / build.gradle muda conforme especificado abaixo,
apply plugin: 'com.android.application'
android {
compileSdkVersion 28
defaultConfig {
applicationId "com.tutorialspoint.espressosamples.helloworldapp"
minSdkVersion 15
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'androidx.appcompat:appcompat:1.1.0-alpha01'
implementation 'androidx.constraintlayout:constraintlayout:2.0.0-alpha3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test:runner:1.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'
}
Agora, a última linha inclui a estrutura de teste espresso da biblioteca AndroidX.
Configurações do dispositivo
Durante o teste, é recomendado desligar a animação no dispositivo Android, que é usado para o teste. Isso reduzirá as confusões ao verificar os recursos de ócio.
Vamos ver como desativar a animação em dispositivos Android - (Configurações → Opções do desenvolvedor),
Escala de animação da janela
Escala de animação de transição
Escala de duração do animador
Se o menu de opções do desenvolvedor não estiver disponível na tela Configurações , clique várias vezes em Número da versão disponível na opção Sobre o telefone . Isso ativa o menu Opções do desenvolvedor .