UI 테스트를 안드로이드 앱에서 수행하려면 Espresso와 같은 UI 테스팅 프레임워크를 사용할 수 있습니다. 이를 통해 앱의 UI 요소를 조작하고 검증할 수 있습니다. 아래에서는 Espresso를 사용한 간단한 UI 테스트 코드와 함께 UI 테스트 수행 방법을 설명합니다.
Espresso 설정
Espresso를 사용하여 UI 테스트를 빌드하기 전에 Espresso 라이브러리의 종속성 참조를 설정해야 합니다.
dependencies {
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0'
}
테스트 기기에서 애니메이션 사용 중지 - 테스트 기기에서 시스템 애니메이션을 켜두면 예기치 않은 결과가 발생하거나 테스트가 실패할 수 있습니다. 설정에서 개발자 옵션를 열고 다음 옵션을 모두 사용 중지하여 애니메이션을 사용 중지하세요.
- 창 애니메이션 배율
- 전환 애니메이션 배율
- Animator 길이 배율
Espresso를 사용한 UI 테스트 작성
다음은 Espresso를 사용하여 안드로이드 앱의 UI를 테스트하는 간단한 예제입니다.
아래 클래스는 “app/src/androidTest/java/com/swjsw/app/cleanflashlight” 의 위치에 생성합니다.
import androidx.test.espresso.Espresso;
import androidx.test.espresso.assertion.ViewAssertions;
import androidx.test.espresso.matcher.ViewMatchers;
import androidx.test.ext.junit.rules.ActivityScenarioRule;
import androidx.test.ext.junit.runners.AndroidJUnit4;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
@RunWith(AndroidJUnit4.class)
public class FlashlightActivityTest {
@Rule
public ActivityScenarioRule<FlashlightActivity> activityRule =
new ActivityScenarioRule<>(FlashlightActivity.class);
@Test
public void testFlashlightButtonVisibility() {
// flashlightButton이 처음에 보이는지 확인
Espresso.onView(ViewMatchers.withId(R.id.flashlightButton))
.check(ViewAssertions.matches(ViewMatchers.isDisplayed()));
}
}
위의 코드에서는 다음 두 가지 UI 조건을 검증합니다:
- testFlashlightButtonVisibility(): **flashlightButton**이 처음에 화면에 보이는지 확인합니다. **ViewMatchers.isDisplayed()**를 사용하여 UI 요소가 화면에 표시되는지 검증합니다.
UI 테스트 실행
먼저 핸드폰의 홈 화면이 보이게 한 상태에서 아래 그림의 “Run” 버튼을 클릭해서 테스트를 수행 합니다.
이러한 테스트를 실행하면 UI 요소의 가시성과 동작이 예상대로 동작하는지 확인할 수 있습니다.
'Android > UI Test' 카테고리의 다른 글
[Android] UI 테스트 -2 (0) | 2023.09.26 |
---|---|
[Android] UI 테스트란? (0) | 2023.09.26 |