본문 바로가기

Android

ui test code 작성

testcase 를 생성하면서 ui 적으로 동작시켜야 하는 항목들이 존재해 이를 찾아보는데

일단 view 선택은 아래와 같이 id 를 기반으로 할 수 있음, 이러한 코드는 안드로이드에서 제공하는 Espresso 라이브러리를 통해서 동작하는 것으로
이외의 옵션은 Espresso 의 javadoc 을 통해 알 수 있음 (https://developer.android.com/training/testing/espresso)

onView(withId(R.id.your_view_id))

view 가 선택 되었으면 이제 어떠한 액션을 취할 수 있는데 코드상으로 동작시키는 가상 작업이므로 perform 을 이용해 동작 시키는 형태 임

onView(withId(R.id.your_view_id)).perform(::YourWantWork)

가령 대상 뷰가 에디트 텍스트 라면 텍스트를 입력할 수 있는데 typeText("넣을 값") 으로 할 수 있음

onView(withId(R.id.your_view_id)).perform(typeText("넣을 값") )

대상 뷰가 버튼이라면 동일한 형태로 click() 을 넣을 수 도 있고 현재 화면에 어떠한 값이 출력되어 있는지 역시 확인할 수 있음

onView(withId(R.id.your_view_id)).perform(click() )
onView(withId(R.id.your_view_id)).check(matches(isDisplayed()))

테스트 샘플은 https://github.com/googlesamples/android-testing 에서 확인할 수 있음

'Android' 카테고리의 다른 글

android with bamboo  (0) 2019.05.31
koin 에서 viewmodel 을 대상 클래스를 generics 로 전달 받기 ?  (0) 2019.05.22
android q 에서 sandbox 경로  (0) 2019.05.15
android q 로 타겟팅 하기  (0) 2019.05.15
okhttp client mock  (0) 2019.05.03