사용자 인터페이스(UI) 테스트를 통해 앱이 기능 요구사항을 충족하고 높은 수준의 품질을 달성하는지 확인하여 사용자가 앱을 채택할 가능성이 커지도록 할 수 있습니다. 한 가지 UI 테스트 접근 방식은 단순히 테스터가 타겟 앱에서 일련의 사용자 작업을 실행하도록 하고 올바르게 작동하는지 확인하는 것입니다. 하지만 이 수동 접근 방식은 시간이 오래 걸리고 지루하며 오류가 발생하기 쉽습니다.
보다 효율적인 접근 방식은 사용자 작업이 자동화된 방식으로 실행되도록 UI 테스트를 작성하는 것입니다. 자동화된 접근 방식을 사용하면 반복 가능한 방식으로 테스트를 빠르고 안정적으로 실행할 수 있습니다. 참고: 테스트 앱 빌드에는 프로젝트 설정, 라이브러리 포함 및 패키징 편의성을 제공하는 Android 스튜디오를 사용하는 것이 좋습니다. 이 과정에서는 Android 스튜디오를 사용한다고 가정합니다. Android 스튜디오를 사용하여 UI 테스트를 자동화하려면 별도의 Android 테스트 폴더( Android 앱을 테스트하는 경우 일반적으로 다음과 같은 유형의 자동화된 UI 테스트를 만듭니다. 이 과정에서는 AndroidX 테스트의 도구 및 API를 사용하여 이러한 유형의
자동화된 테스트를 빌드하는 방법을 알려줍니다. 이러한 API를 사용하여 테스트 빌드를 시작하기 전에 AndroidX 테스트용 프로젝트 설정에 설명된 대로 AndroidX 테스트를 추가하세요. Android 테스트에서 Espresso를 사용하는 방법에 관한 자세한 내용은 다음 자료를 참조하세요. Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates. Last updated 2020-06-18 UTC. [{ "type": "thumb-down", "id": "missingTheInformationINeed", "label":"필요한 정보가 없음" },{ "type": "thumb-down", "id": "tooComplicatedTooManySteps", "label":"너무 복잡함/단계 수가 너무 많음" },{ "type": "thumb-down", "id": "outOfDate", "label":"오래됨" },{ "type": "thumb-down", "id": "translationIssue", "label":"번역 문제" },{ "type": "thumb-down", "id": "samplesCodeIssue", "label":"샘플/코드 문제" },{ "type": "thumb-down", "id": "otherDown", "label":"기타" }] [{ "type": "thumb-up", "id": "easyToUnderstand", "label":"이해하기 쉬움" },{ "type": "thumb-up", "id": "solvedMyProblem", "label":"문제가 해결됨" },{ "type": "thumb-up", "id": "otherUp", "label":"기타" }] TDD를 통한 개발을 위해 가장 먼저 준비 할 것은 ‘테스트 케이스 작성’입니다. 테스트는 크게 2가지로 나눌 수 있습니다.
오늘은 그 중 ‘UI 테스트 자동화’에 대해 공부하고 테스트한 내용에 대해 글을 남기려고 합니다. Implement
2021년 7월 7일 현재, 안정화 된 Espresso 버전은 3.1.0 입니다. 애니메이션 사용 중지Espresso는 구현한 동작을 빠르게 수행하기에 애니메이션 동작이 있는 경우, 원활한 테스트에 문제가 생길 수 있습니다. 물론 Android 개발자 문서에서는 테스트용 기기의 애니메이션을 사용 중지 하는 방법을 권하나, 프로젝트의 Gradle에서 테스트 할 때만 Animation을 비활성화 시키는 방법을 지원하므로 저는 아래처럼 후자의 방법을 사용합니다.
테스트 클래스 구현UI 구성 요소에 접근하는 방법은 기본적으로 아래와 같습니다.
ViewMatcher는 생략될 수 없으며, ViewAction이나 ViewAssertion은 생략 될 수 있습니다. ViewMatcher 지정ViewMatcher을 지정하는 방법은 크게 3가지가 있습니다.
일반적으로, ViewAction 실행ViewActions는
구글 안드로이드 디벨로퍼즈에 명시된 기능만 작성하였으며, 이 외에도 다양한 기능이 있지만 저는 아직 사용해보지 못했습니다. ViewAssertion 확인원하는 결과를 잘 얻었는지 확인할 수 있습니다. ViewAssertion은
테스트 진행예를 들어 아래와 같은 순서로 테스트를 진행하고 싶다고 가정해보겠습니다.
이럴 땐 아래와 같이 테스트를 구현하면 됩니다.
충분히 이해가 되었다면, 본인이 만든 앱의 기초 로직을 이용하여 간단한 테스트를 구현할 수 있을겁니다. 제 경우에는 내게 필요한 기술이기에 글만 읽고 끝내지 않고 직접 적용해보니 더 쉽게 익힐 수 있었습니다. 참고 문서Android Developers - 단일 앱의 UI 테스트 Espresso Testing Samples |