Espresso 테스트 프레임 워크-설정 지침

이 장에서는 에스프레소 프레임 워크를 설치하고 에스프레소 테스트를 작성하도록 구성하고 Android 애플리케이션에서 실행하는 방법을 이해하겠습니다.

전제 조건

Espresso는 Android SDK를 사용하여 Java / Kotlin 언어로 개발 된 Android 애플리케이션을 테스트하기위한 사용자 인터페이스 테스트 프레임 워크입니다. 따라서 에스프레소의 유일한 요구 사항은 Java 또는 Kotlin에서 Android SDK를 사용하여 애플리케이션을 개발하는 것이며 최신 Android Studio를 사용하는 것이 좋습니다.

에스프레소 프레임 워크에서 작업을 시작하기 전에 올바르게 구성해야 할 항목 목록은 다음과 같습니다.

  • 최신 Java JDK를 설치하고 JAVA_HOME 환경 변수를 구성합니다.

  • 최신 Android Studio (버전 3.2 이상)를 설치합니다.

  • SDK Manager를 사용하여 최신 Android SDK를 설치하고 ANDROID_HOME 환경 변수를 구성합니다.

  • 최신 Gradle 빌드 도구를 설치하고 GRADLE_HOME 환경 변수를 구성합니다.

EspressoTesting 프레임 워크 구성

처음에는 에스프레소 테스트 프레임 워크가 Android 지원 라이브러리의 일부로 제공됩니다. 나중에 Android 팀은 새로운 Android 라이브러리 인 AndroidX를 제공하고 최신 에스프레소 테스트 프레임 워크 개발을 라이브러리로 이동합니다. 에스프레소 테스트 프레임 워크의 최신 개발 (Android 9.0, API 레벨 28 이상)은 AndroidX 라이브러리에서 수행됩니다.

에스프레소 테스트 프레임 워크를 프로젝트에 포함하는 것은 에스프레소 테스트 프레임 워크를 애플리케이션 gradle 파일 app / build.gradle의 종속성으로 설정하는 것만 큼 간단합니다. 전체 구성은 다음과 같습니다.

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'
}

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 에서 안드로이드 / defaultConfig는 설정 AndroidJUnitRunner의 계측 테스트를 실행하는 클래스. 필드에 첫 번째 라인 종속성 포함 JUnit을 테스트 워크를 상기 두 번째 라인 의존성 테스트 케이스들을 실행하기 위해 시험 러너 라이브러리를 포함하며, 마지막에서 세 번째 라인 의존성 에스프레소 테스트 구조를 포함한다.

기본적으로 Android 스튜디오는 Android 프로젝트를 생성하는 동안 에스프레소 테스트 프레임 워크 (Android 지원 라이브러리)를 종속성으로 설정하고 gradle은 Maven 저장소에서 필요한 라이브러리를 다운로드합니다. 간단한 Hello world Android 애플리케이션을 만들고 에스프레소 테스트 프레임 워크가 올바르게 구성되었는지 확인하겠습니다.

새 Android 애플리케이션을 만드는 단계는 아래에 설명되어 있습니다.

  • Android Studio를 시작하십시오.

  • 파일 → 새로 만들기 → 새 프로젝트를 선택합니다.

  • 입력 응용 프로그램 이름 (helloworldapp을) 및 회사 도메인 (espressosamples.tutorialspoint.com)를 누른 다음 다음을 .

Android 프로젝트를 생성하려면

  • 최소 API를 API 15 : Android 4.0.3 (IceCreamSandwich)으로 선택하고 다음을 클릭합니다.

Android 기기를 타겟팅하려면

  • 선택 빈 활동을 하고 다음을 클릭 다음 .

모바일에 활동을 추가하려면

  • 주요 활동의 이름을 입력하고 마침 을 클릭 합니다 .

활동을 구성하려면

  • 새 프로젝트가 생성되면 app / build.gradle 파일을 열고 내용을 확인합니다. 파일의 내용은 아래와 같습니다.

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'
}

마지막 줄은 에스프레소 테스트 프레임 워크 종속성을 지정합니다. 기본적으로 Android 지원 라이브러리가 구성됩니다. 메뉴에서 RefactorMigrate to AndroidX 를 클릭하여 AndroidX 라이브러리 를 사용하도록 애플리케이션을 재구성 할 수 있습니다 .

Androidx로 마이그레이션하려면

  • 이제 app / build.gradle 이 아래와 같이 변경됩니다.

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'
}

이제 마지막 줄에는 AndroidX 라이브러리의 에스프레소 테스트 프레임 워크가 포함됩니다.

디바이스 설정

테스트 중에는 테스트에 사용되는 Android 장치에서 애니메이션을 끄는 것이 좋습니다. 이것은 이상 자원을 확인하는 동안 혼란을 줄입니다.

Android 기기에서 애니메이션을 비활성화하는 방법을 살펴 보겠습니다 – (설정 → 개발자 옵션),

  • 창 애니메이션 배율

  • 전환 애니메이션 배율

  • 애니메이터 기간 척도

설정 화면 에서 개발자 옵션 메뉴를 사용할 수없는 경우 전화 정보 옵션 에서 사용할 있는 빌드 번호를 여러 번 클릭합니다. 개발자 옵션 메뉴를 활성화 합니다.