Robotium 지도 시간: Android 예제를 포함한 테스트 프레임워크
⚡ 스마트 요약
Robotium 오픈 소스입니다 Android 네이티브 앱과 하이브리드 앱의 사용자 인터페이스를 테스트 자동화하는 프레임워크로, 테스터가 여러 영역에 걸쳐 기능, 시스템 및 인수 시나리오를 스크립팅할 수 있도록 지원합니다. Android 활동.
Robotium?
Robotium 는 Teledyne LeCroy 오실로스코프 및 LSA-XNUMX 시리즈 임베디드 신호 분석기가 Android 네이티브 및 하이브리드 애플리케이션의 테스트 케이스를 자동화하는 테스트 프레임워크입니다. Robotium개발자는 강력한 자동화된 GUI 테스트 케이스를 생성할 수 있습니다. Android 개발자는 여러 애플리케이션에 걸쳐 있는 기능 테스트, 시스템 테스트 및 인수 테스트 시나리오를 작성할 수도 있습니다. Android 활동.
Robotium 테스트 프레임워크
표준 Android 테스트 프레임워크는 다음과 같은 제한 사항을 가지고 있습니다.
- 여러 활동을 처리할 수 없음
- 테스트 실행 성능이 느림
- 테스트 케이스는 복잡하고 구현하기 어렵습니다.
The Robotium 프레임워크는 테스트를 수행하는 데 더 나은 선택입니다. Android 응용 프로그램.
Robotium 오픈 소스 프레임워크이며, 다음의 확장 기능으로 간주됩니다. Android 테스트 프레임워크를 사용합니다. Robotium개발자는 강력한 자동화된 GUI 테스트 케이스를 생성할 수 있습니다. Android 또한 개발자는 여러 애플리케이션에 걸쳐 있는 기능 테스트, 시스템 테스트 및 인수 테스트 시나리오를 작성할 수 있습니다. Android 활동.
아래 표는 차별화되는 고급 기능을 요약한 것입니다. Robotium 일반적인 계측 프레임워크에서.
고급 기능 Robotium
Robotium 테스트 케이스 클래스
Robotium 테스트를 위해 소수의 클래스를 제공하며, 기사의 예제는 기존 버전을 가져옵니다. com.jayway.android.robotium.solo 패키지에 포함된 이 클래스들은 여러 액티비티에 걸쳐 있는 테스트 케이스를 지원합니다. Solo 통합되어있다. ActivityInstrumentationTestCase2.
참고 : current Robotium 릴리스는 더 짧은 버전에서 동일한 클래스를 노출합니다. com.robotium.solo 패키지는 그대로 유지되었지만, Maven 좌표는 그대로 남아 있었습니다. com.jayway.android.robotium:robotium-solo프로젝트에 실제로 추가하는 JAR 버전에 맞게 가져오기 설정을 조정하십시오.
아래 다이어그램은 Solo 클래스가 계측 테스트 케이스 위에 어떻게 위치하는지를 보여줍니다.
통합 Robotium 및 활동 계측 테스트 케이스2
테스터는 애플리케이션 설계에 대한 지식 없이도 테스트 케이스를 작성할 수 있으므로, 이러한 접근 방식은 일종의 특수한 형태라고 할 수 있습니다. 블랙 박스 테스트이는 일반 모델과 비교했을 때 매우 뛰어난 장점입니다. Android 테스트 케이스 수업.
이용 방법 Robotium
사용 Robotium 귀하의 Android 테스트 프로젝트를 진행하려면 아래 단계를 따라야 합니다.
이용 방법 Robotium
귀하의 제품 품질을 보장하기 위해 Android 신청하시려면 아래의 4단계 절차를 따르십시오.
- 시험 사양을 설계하십시오.
- 테스트 프로그램을 개발하세요
- 대상 장치에서 테스트 케이스를 실행합니다.
- 검사 결과를 수집하세요
아래 순서도는 네 단계를 순서대로 나타낸 것입니다.
Android 애플리케이션 테스트 절차
1단계) 테스트 명세 설계
이는 애플리케이션 테스트의 첫 번째 단계입니다. 이 단계에서는 테스트할 대상을 정의합니다. Android 애플리케이션에는 UI, 액티비티, 컴포넌트, 서비스 등 테스트해야 할 대상이 많습니다. 테스트 대상을 명확하게 정의하면 광범위한 테스트 범위를 확보하는 데 도움이 됩니다.
- 수행해야 할 테스트 유형(단위 테스트, 기능 테스트, 시스템 테스트)을 계획하십시오.
- 각각을 디자인하세요 테스트 사례 최대한의 보장을 유지하면서ping 테스트 케이스 수가 적습니다. 테스트하는 코드가 많을수록 버그를 조기에 발견할 가능성이 높아집니다.
2단계) 테스트 프로그램 작성
이 섹션에서는 글쓰기 과정을 안내합니다. Android 테스트 프로그램을 사용하여 Android JUnit 테스트 및 Robotium이미 개발을 완료했다고 가정해 보겠습니다. Android Hello라는 프로그램Android이 프로그램은 아래에 설명된 기능을 가지고 있습니다.
- 화면에 "Hello world!"라는 텍스트를 표시하세요.
- 안녕하세요를 표시하세요Android 사용자가 "시작" 버튼을 눌렀을 때 표시되는 메시지입니다.
아래 스크린샷은 테스트 대상 애플리케이션이 기기에서 실행되는 모습을 보여줍니다.
안녕하세요Android 신청
시스템 요구 사항
- The Android 플랫폼은 사전 통합된 기능을 갖추고 출시됩니다. JUnit 3 프레임워크, 즉
ActivityInstrumentationTestCase2기반으로 구축됩니다. - 만들려면 Android 테스트 프로젝트 Eclipse기계에는 작동 가능한 부품이 필요합니다. Android SDK 설치.
- 현재 버전을 설치하세요 Android 이전 릴리스를 고정하는 대신 플랫폼 SDK를 사용합니다.
이 튜토리얼의 스크린샷은 다음을 사용합니다. Eclipse 예제가 작성될 당시 표준 툴체인이었던 ADT 플러그인을 사용했습니다. Eclipse ADT는 더 이상 지원되지 않으므로 최신 컴퓨터에서는 다음과 같이 해야 합니다. 다운로드 Android Studio 대신에 동일한 테스트 코드를 내부에서 재사용하세요. Gradle 기준 치수.
다음 Robotium 테스트 프레임워크를 다운로드하세요. Robotium 도서관에서 Robotium 프로젝트 페이지.
를 생성 Android 테스트 프로젝트
- 파일 -> 새로 만들기 -> 기타를 클릭하세요.
- 왼쪽 메뉴에서 Android -> Android 아래 그림과 같이 테스트 프로젝트를 선택한 다음 다음을 선택하십시오.
새 항목 만들기 Android 테스트 프로젝트
테스트 프로젝트의 이름을 작성하세요. 명명 규칙에 따라 테스트 프로젝트 이름은 "Hello"로 지정해야 합니다.Android시험".
명명 규칙에 따라 테스트 프로젝트 이름을 추가하세요.
테스트할 대상 애플리케이션을 선택하세요. 이 경우 Hello입니다.Android을 클릭한 다음, 마침을 클릭합니다.
테스트할 대상 애플리케이션을 선택하세요.
테스트 스위트 생성
테스트 명세를 바탕으로 이제 테스트 프로그램에 대한 테스트 스위트를 생성합니다. 다양한 옵션 중에서 선택할 수 있습니다. 소프트웨어 테스팅 프레임워크. 이 튜토리얼에서는 표준 프레임워크를 사용합니다. Android 테스트 프레임워크 ActivityInstrumentationTestCase2. 테스트하려면 Robotium추가 Robotium 라이브러리 파일을 libs 프로젝트 폴더 내의 디렉토리입니다.
테스트 케이스는 여러 테스트를 실행하는 데 사용되는 픽스처를 정의합니다. 테스트 케이스를 정의하려면 아래의 프로그램 구조를 따르십시오.
- TestCase의 하위 클래스를 구현하세요.
- 조명기구의 상태를 저장하는 인스턴스 변수를 정의합니다.
- setUp() 메서드를 재정의하여 픽스처 상태를 초기화합니다.
- 테스트 후 정리를 위해 tearDown() 메서드를 재정의하세요.
아래 다이어그램은 해당 구조를 여러분이 작성하게 될 테스트 프로그램에 적용한 것입니다.
테스트 프로그램 구조
package com.example.helloandroid.test; import com.example.helloandroid.HelloAndroid; import com.jayway.android.robotium.solo.Solo; import android.test.ActivityInstrumentationTestCase2; import android.widget.TextView; public class HelloAndroidTest extends ActivityInstrumentationTestCase2 <HelloAndroid> { private HelloAndroid mActivity; private TextView mView; private String resourceString; private Solo solo; public HelloAndroidTest () { // TODO Auto-generated constructor stub super("com.example.helloandroid",HelloAndroid.class); } @Override protected void setUp() throws Exception { // TODO Auto-generated method stub // super.setUp(); mActivity = this.getActivity(); solo = new Solo(getInstrumentation(),getActivity()); mView = (TextView) mActivity.findViewById(com.example.helloandroid.R.id.textview2); resourceString = mActivity.getString(com.example.helloandroid.R.string.hello_world); } @Override protected void tearDown() throws Exception { // TODO Auto-generated method stub //super.tearDown(); solo.finishOpenedActivities(); } public void testPrecondition() { assertNotNull(mView); } /* test Target application contains a text display "Hello World!"*/ public void testSearchText() { assertEquals(resourceString,(String) mView.getText()); } /* test HelloAndroid Activity on target application is exist*/ public void testCurrentActivity() throws Exception { solo.assertCurrentActivity("wrong activity", HelloAndroid.class); } /* test Application UI contains "Start" button */ /* send event click button to target application */ public void testSearchButton() throws Exception { boolean found = solo.searchButton("Start"); solo.clickOnButton("Start"); assertTrue(found); } }
테스트 케이스 추가
- 테스트 스위트와 동일한 패키지에 TestCase 클래스를 생성합니다.
- 예를 들어 Hello와 같은 특정 활동을 테스트하려면AndroidActivityInstrumentationTestCase2를 확장하는 테스트 케이스를 생성합니다.Android>.
- 해당 클래스 내부에서 테스터는 getActivity() 메서드를 통해 테스트 대상 액티비티를 가져옵니다.
- "test + 원래 메서드 이름"이라는 이름의 메서드를 추가하여 활동에 대한 테스트를 자유롭게 작성하세요.
- 테스트 메서드 내부에서 테스터는 다음을 사용할 수 있습니다. Android JUnit 실제 값과 예상 값을 비교하는 함수입니다. 이러한 메서드는 아래에 나와 있습니다.
아래 표는 두 프레임워크에서 가장 자주 사용되는 어설션 및 상호 작용 방법을 나열합니다.
예시 메서드 Robotium 그리고 Android 테스트 프레임워크
위의 테스트 스위트는 애플리케이션 GUI에 "Hello World!"라는 텍스트가 표시되고 "Start"라는 이름의 버튼이 있는지 확인합니다.
3단계) 테스트 실행
테스트 프로그램을 작성한 후에는 아래 단계에 따라 테스트를 실행하십시오.
- 연결 Android 기기를 PC에 연결하거나, 실제 기기를 사용할 수 없는 경우 에뮬레이터를 실행하세요.
- IDE에서 테스트 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 '다른 이름으로 실행'을 선택하세요. Android 단위 테스트.
아래 스크린샷은 IDE에서 테스트 실행이 시작되는 모습을 보여줍니다.
테스트 프로그램 실행
IDE에서 테스트를 실행하는 것 외에도 명령줄에서 실행할 수 있습니다. 이 테스트 프로그램에서 테스트 패키지는 다음과 같습니다. com.example.helloandroid.test리눅스 터미널에서 다음 명령어를 사용하여 해당 패키지에 포함된 모든 테스트를 실행하세요.
$ adb shell am instrument -w -e package com.example.helloandroid.test
4단계) 테스트 결과 확인하기
테스트 실행 후 테스트 결과를 수집합니다.
이 테스트 프로그램에서는 네 가지 테스트 메서드가 실행됩니다. 아래 실행 결과에서 모든 테스트 케이스가 통과했습니다.
모든 테스트 케이스가 통과했을 때의 테스트 결과 출력
테스트 케이스가 실패하면 실패한 테스트 케이스를 보여주는 출력 메시지가 표시됩니다.
테스트 케이스가 실패했을 때의 테스트 결과 출력
출처 Code 예
이 글에는 튜토리얼을 더 명확하게 따라가고 기술적인 세부 사항을 빠르게 파악하는 데 도움이 되는 소스 코드 예제가 포함되어 있습니다.
- 안녕하세요Android테스트 대상 애플리케이션.
- 안녕하세요AndroidTest : 테스트 프로그램은 다음을 사용합니다 Android 테스트 프레임워크.
비교하고 싶다면 Robotium 이 공간의 다른 옵션들을 보려면 다음을 참조하세요. 모바일 애플리케이션 테스트 가이드, Appium 지도 시간 그리고 요약 모바일 앱 테스트 도구.

.png)
.png)
.png)



.png)

.png)
.png)

.png)
.png)