Espresso Test Recorder로 UI 테스트를 만드는 데 걸리는 시간을 줄이십시오.
10935 단어 안드로이드AndroidStudioEspresso안드로이드 개발
Espresso 에서 UI 테스트 쓰는 분도 많을까 생각합니다만, 조작 기록을 테스트 코드에 일으켜 주는 툴입니다.
UI 테스트 작성에 걸리는 공수 삭감에 연결하면 좋네요.
개인적으로는 업무의 앱 개발로, Quality 향상을 위해 UIAutomator나 Espresso로 UI 테스트 작성을 시도한 적이 있습니다.
하지만 직접 작성하면 시간이 걸리므로 개발 프로세스에 걸릴 수는 없었습니다.
그리고 UI 테스트 작성을 임의로 하면, 개발 멤버는 시간이 없고 대체로 모두 UI 테스트 쓰지 않게 됩니다. (매니저 측은 보수보다 기능 대응 우선으로 생각하기 쉽고)
준비
사용법
AndroidStudio 메뉴에서 Run > Record Espresso Test를 선택합니다.
[Record Your Test] 대화 상자가 일어나므로 앱에서 테스트하고 싶은 조작을 수행합니다 (쇼보 앱입니다). 조작한 기록이 대화 상자에 기록됩니다.
1. NavigatoinDrawer 열기
2. 가나자와 노라쿠 미술관을 탭
3. 툴바가 존재하는지 확인
적당히 툴바가 존재하는지 체크하도록 했습니다만, 조작 3과 같이 어설션 정의도 녹화중에 추가할 수 있습니다.
오른쪽 캡처 화면에서 항목을 클릭하여 항목을 선택할 수도 있습니다.
생성된 코드
실제로 생성된 테스트 코드는 이쪽.
MainActivityTest2.java
package com.kanazawaevent.view.activity;
import android.support.test.espresso.ViewInteraction;
import android.support.test.rule.ActivityTestRule;
import android.support.test.runner.AndroidJUnit4;
import android.test.suitebuilder.annotation.LargeTest;
import com.kanazawaevent.R;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import static android.support.test.espresso.Espresso.onView;
import static android.support.test.espresso.action.ViewActions.click;
import static android.support.test.espresso.assertion.ViewAssertions.matches;
import static android.support.test.espresso.matcher.ViewMatchers.isDisplayed;
import static android.support.test.espresso.matcher.ViewMatchers.withContentDescription;
import static android.support.test.espresso.matcher.ViewMatchers.withId;
import static android.support.test.espresso.matcher.ViewMatchers.withParent;
import static android.support.test.espresso.matcher.ViewMatchers.withText;
import static org.hamcrest.Matchers.allOf;
@LargeTest
@RunWith(AndroidJUnit4.class)
public class MainActivityTest2 {
@Rule
public ActivityTestRule<MainActivity> mActivityTestRule = new ActivityTestRule<>(MainActivity.class);
@Test
public void mainActivityTest2() {
ViewInteraction imageButton = onView(
allOf(withContentDescription("Open navigation drawer"),
withParent(withId(R.id.toolbar)),
isDisplayed()));
imageButton.perform(click());
ViewInteraction textView = onView(
allOf(withText("金沢能楽美術館"), isDisplayed()));
textView.perform(click());
ViewInteraction viewGroup = onView(
allOf(withId(R.id.toolbar), isDisplayed()));
viewGroup.check(matches(isDisplayed()));
}
}
보충
처음 조작 녹화를 마치고 완료하려고 했을 때, 아래의 다이얼로그가 나와 YES를 선택하면 이하의 build.gradle 주위의 설정을 해 줍니다.
build.gradle
android {
defaultConfig {
・
・
・
testInstrumentationRunner 'android.support.test.runner.AndroidJUnitRunner'
}
}
dependencies {
・
・
compile 'com.android.support.test.espresso:espresso-core:2.2.2'
compile 'com.android.support.test:runner:0.5'
}
요약
테스트하려는 내용에 따라 미세 수정이 필요할 수 있습니다.
프레임워크 작성에는 사용할 수 있을까라고 개인적으로는 생각하고 있습니다만, 어떻습니까.
Reference
이 문제에 관하여(Espresso Test Recorder로 UI 테스트를 만드는 데 걸리는 시간을 줄이십시오.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/nagasakulllo/items/9c95bb12c256357a2d4d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)