본문 바로가기
Android/UI Test

[Android] UI 테스트 -1

by startSW 2023. 9. 26.

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 조건을 검증합니다:

  1. testFlashlightButtonVisibility(): **flashlightButton**이 처음에 화면에 보이는지 확인합니다. **ViewMatchers.isDisplayed()**를 사용하여 UI 요소가 화면에 표시되는지 검증합니다.

 

UI 테스트 실행

먼저 핸드폰의 홈 화면이 보이게 한 상태에서 아래 그림의 “Run” 버튼을 클릭해서 테스트를 수행 합니다.

이러한 테스트를 실행하면 UI 요소의 가시성과 동작이 예상대로 동작하는지 확인할 수 있습니다.

'Android > UI Test' 카테고리의 다른 글

[Android] UI 테스트 -2  (0) 2023.09.26
[Android] UI 테스트란?  (0) 2023.09.26