getting started with robotium most popular android application ui testing tool
Robotium은 네이티브 및 하이브리드 Android 애플리케이션을 테스트하기위한 Android 테스트 자동화 프레임 워크입니다. . UI 자동화 스크립트를 작성하기위한 간단한 API를 제공합니다. 그러나 Android 애플리케이션을 테스트하는 데 사용할 수있는 도구는 많으며 Robotium이 가장 일반적으로 사용됩니다. Android 테스트 도구 .
Robotium은 기능, 시스템 및 사용자 승인 테스트 케이스를 작성하는 데 사용할 수 있습니다. Robotium 테스트 케이스는 Android 에뮬레이터와 Android 실제 기기에서 실행할 수 있습니다.
추가 읽기 => 모바일 애플리케이션 테스트를위한 초보자 가이드
학습 내용 :
Robotium 시작하기
Robotium의 이점
- 쓰기 쉬움
- 단순 API (모든 메소드는 솔로 클래스에서만 사용 가능)
- 자동 지연 및 타이밍
- 한 활동에서 다른 활동으로 이동할 때 코드를 작성할 필요가 없습니다.
- Android 기본 앱과 하이브리드 앱을 테스트합니다.
- 여러 Android 활동을 처리 할 수 있습니다.
- API가 간단하므로 테스트를 작성하는 시간이 줄어 듭니다.
- UI 구성 요소에 대한 런타임 바인딩으로 인해 테스트 사례가 견고합니다.
- 빠른 테스트 케이스 실행.
- Maven 및 ANT와 쉽게 통합됩니다.
전제 조건
# 1) JAVA 다운로드 및 설치
- Java 다운로드 이 페이지 .
- PATH에 Java 라이브러리를 추가하고 JAVA_HOME을 사용자 환경의 Java 설치 디렉토리 루트로 설정합니다.
# 2) ADT 번들 다운로드
- ADT 번들 다운로드 이 페이지 .
- ADT 번들 zip을 추출하여 폴더에 넣습니다.
- ANDROID_HOME을 환경에있는 ADT 번들 폴더의 루트로 설정합니다.
Robotium 프로젝트 만들기
프로젝트를 생성하는 데 필요한 몇 단계,
1 단계) Open Eclipse에는 테스트 할 Android 애플리케이션이 포함되어 있습니다.
2 단계) Android 프로젝트-> Android 도구를 마우스 오른쪽 버튼으로 클릭하고 새 테스트 프로젝트를 클릭합니다.
3 단계) 테스트 프로젝트의 이름을 지정하고 다음 버튼을 클릭합니다.
4 단계) 테스트중인 애플리케이션을 대상으로 선택하고 마침 버튼을 클릭합니다.
5 단계) Eclipse 작업 공간에 테스트 프로젝트가 생성됩니다.
6 단계) Robotium solo jar 다운로드 여기 .
7 단계) 작업 공간에서 테스트 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 빌드 경로로 이동하고 빌드 경로 구성을 클릭합니다.
8 단계) 라이브러리 탭으로 전환하고 '외부 jar 추가'옵션을 클릭하고 다운로드 한 Robotium jar 파일을 찾아 라이브러리에 추가하고 '확인'을 클릭합니다.
9 단계) Robotium 테스트 프로젝트가 성공적으로 생성되었습니다. 이제 프로젝트 아래에 클래스를 만들고 테스트 케이스 작성을 시작할 수 있습니다.
Robotium 클래스 생성
#1) 테스트 프로젝트의 src 디렉토리 아래에있는 패키지를 마우스 오른쪽 버튼으로 클릭하고 새 클래스를 만듭니다.
#두) Robotium 테스트 프로젝트의 Main Activity 클래스를 가져옵니다.
통사론 :
import com.sasi.attendanceproject.Home;
#삼) 새 클래스는 ActivityInstrumentationTestCase2 클래스에서 속성을 상속합니다.
public class AttendanceTest extends ActivityInstrumentationTestCase2
( 노트 : 여기서 Home은 Android 애플리케이션에서 테스트 할 활동입니다.)
# 4) 아래와 같이 Solo 클래스의 인스턴스 생성
private Solo solo;
# 5) 아래와 같이 테스트 클래스의 생성자를 만듭니다.
public AttendanceTest() { super(Home.class); // TODO Auto-generated constructor stub
# 6) 아래와 같이 setUp 및 tearDown 메서드를 만듭니다.
설정 방법은 계측을 시작하는 데 사용됩니다.
public void setUp()throws Exception { solo=new Solo(getInstrumentation(), getActivity()); }
분해 메서드는 테스트가 완료된 후 활동을 종료하는 데 사용됩니다.
public void tearDown() throws Exception { solo.finishOpenedActivities(); }
일부 Robotium 방법
#1) assertCurrentActivity (텍스트, 활동)
이 메소드는 현재 활동이 send 매개 변수로 전달 된 활동인지 여부를 확인합니다.
통사론
solo.assertCurrentActivity('Current Activity', Home.class);
#두) clickOnButton (텍스트)
이 방법은 지정된 텍스트가있는 버튼을 클릭합니다.
통사론:
solo.clickOnButton('ADMIN');
#삼) clickOnButton (int)
이 방법은 지정된 색인이있는 버튼을 클릭합니다.
통사론:
solo.clickOnButton(2);
# 4) waitForText (텍스트)
이 메서드는 활동에 텍스트가 나타날 때까지 기다립니다.
통사론:
숙련 된 pdf에 대한 셀레늄 웹 드라이버 인터뷰 질문 및 답변
solo.waitForText('Creating New Password');
# 5) enterText (int, text)
이 메소드는 지정된 색인 편집 상자에 두 번째 매개 변수로 전달 된 텍스트를 입력합니다.
통사론:
solo.enterText(0,'test');
# 6) clickOnCheckbox (int)
이 방법은 주어진 색인이있는 확인란을 클릭합니다.
통사론:
solo.clickOnCheckBox(0);
# 7 ) clickOnRadioButton (int)
이 메소드는 주어진 색인이있는 라디오 버튼을 클릭합니다.
통사론:
solo.clickOnRadioButton(1);
# 8) clickOnImage (int)
이 메서드는 주어진 인덱스가있는 이미지를 클릭합니다.
통사론:
solo.clickOnImage(1);
# 9) clearEditText (int)
이 메서드는 주어진 인덱스로 편집 상자의 텍스트를 지 웁니다.
통사론:
solo.clearEditText(0);
# 10) waitForText (텍스트)
이 메소드는 주어진 텍스트가 활동에 나타날 때까지 기다립니다.
통사론:
solo.waitForText(“Robotium”);
예제 프로그램
Android 애플리케이션에서 요소 찾기
1 단계) 테스트 할 Android 애플리케이션이 포함 된 Eclipse를 엽니 다.
2 단계) 프로젝트를 확장하십시오. Go to res? 레이아웃 폴더를 클릭하고 자동화하려는 활동 XML 파일을 두 번 클릭합니다. Eclipse 편집기에서 설계된 활동이 열립니다.
3 단계) 버튼 요소 찾기
- ID로 요소 찾기
찾고자하는 요소를 클릭합니다. 오른쪽 속성 패널에서 해당 요소의 ID를 찾을 수 있습니다. (@ + id / 무시)
위 그림에서 요소의 ID는 btnadmin입니다.
이 버튼을 찾기위한 해당 Robotium 코드는 다음과 같습니다.
solo.clickOnButton(R.id.btnadmin);
- 위치로 요소 찾기
ID를 사용할 수없는 경우 주문을 사용하여 요소를 찾을 수 있습니다. 버튼이 두 번째 위치에 있으면 다음 방법으로 버튼을 찾을 수 있습니다.
solo.clickOnButton(1);
- 텍스트로 요소 찾기
버튼에 표시된 텍스트를 사용하여 버튼을 클릭 할 수도 있습니다.
Solo.clickOnButton(“ADMIN”);
- 텍스트 상자 요소 찾기
비슷한 방법으로 데이터를 입력하려는 텍스트 상자를 클릭하고 오른쪽에서 텍스트 상자의 위치를 찾습니다.
Solo.enterText(0,”Anitha”); //Username textbox is in 1st position
Solo.enterText(1,”test”); //Password textbox is in 2nd position
- 라디오 버튼 요소 찾기
라디오 버튼 요소를 클릭하면 라디오 버튼의 위치를 클릭하여 찾을 수 있습니다.
Solo.clickOnRadioButton(1); //It will location radio button in the second position.
샘플 코드
package com.sasi.attendanceproject.test; import android.test.ActivityInstrumentationTestCase2; import android.widget.EditText; import com.robotium.solo.By; import com.robotium.solo.Solo; import com.robotium.solo.WebElement; import com.sasi.attendanceproject.Home; public class AttendanceTest extends ActivityInstrumentationTestCase2{ private Solo solo; public AttendanceTest() { super('com.sasi.attendanceproject.Home',Home.class); // TODO Auto-generated constructor stub } public void setUp()throws Exception{ solo=new Solo(getInstrumentation(),getActivity()); } public void testAttendance()throws Exception{ //solo.assertCurrentActivity('Current Activity', Home.class); solo.waitForWebElement(By.id('btnadmin')); solo.clickOnButton('ADMIN'); solo.clickOnButton(0); solo.waitForText('Creating New Password'); solo.enterText(0, 'test'); solo.enterText(1, 'test'); solo.clickOnButton('Okay'); solo.waitForText('Attendance Login'); solo.enterText(0, 'Anitha'); solo.enterText(1, 'test'); solo.clickOnButton('Login'); solo.waitForWebElement(By.id('btnaddnew')); solo.clickOnButton('Add New Details'); solo.waitForText('Enter the Employee Details'); solo.enterText(0, 'Anitha'); solo.enterText(1, '6'); solo.enterText(2, 'Testing Engineer'); solo.clickOnRadioButton(1); solo.clickOnButton('Okay'); solo.waitForWebElement(By.id('tvempID')); System.out.println(solo.getText(0)); } public void tearDown()throws Exception{ solo.finishOpenedActivities();}}
Robotium 프로젝트 실행
Eclipse에서 :
프로젝트를 마우스 오른쪽 버튼으로 클릭하고 실행 도구-> Android JUnit 테스트를 선택합니다.
명령 프롬프트에서 :
1 단계) Android 테스트 프로젝트 디렉토리에 대한 CD
2 단계) 다음 명령을 실행하십시오.
adb shell am instrument -w <>/android.test.InstrumentationTestRunner
결론
- Robotium은 가장 일반적으로 사용되는 Android 테스트 자동화 도구입니다.
- Robotium 테스트 케이스는 Android Emulator와 Real 기기에서 실행할 수 있습니다. Google은 Real 기기에서 Robotium 테스트 케이스를 실행하기 위해 특정 구성 코드를 작성할 필요가 없습니다.
- Robotium은 Maven 프로젝트에서도 쉽게 작성할 수 있으며 지속적인 통합 도구를 통해 실행할 수 있습니다.
- 따라서 Robotium은 쉽고 간단한 Android 테스트 자동화 스크립트를 작성하는 데 매우 유용합니다.
추천 도서 => 5 가지 모바일 테스트 과제 및 솔루션
저자 정보 : Anitha Eswari의 게스트 게시물입니다. 그녀는 현재 웹 및 모바일 자동화 테스트에서 3 년 이상의 광범위한 경험을 가진 수석 테스트 엔지니어로 일하고 있습니다. 그녀는 Robotium 및 Appium과 같은 모바일 테스트 도구를 포함한 다양한 자동화 테스트 도구에 대한 건전한 지식을 보유하고 있습니다.
다음 기사에서는 Selendroid 튜토리얼.
추천 도서
- 데스크톱, 클라이언트 서버 테스트 및 웹 테스트의 차이점
- 모바일 UI 테스트 자습서 (iOS 및 Android 앱의 GUI 테스트)
- Android 애플리케이션 테스트를위한 11 가지 최고의 자동화 도구 (Android 앱 테스트 도구)
- 장치에 애플리케이션 설치 및 Eclipse에서 테스트 시작
- LoadUI를 사용한 부하 테스트-무료 및 오픈 소스 부하 테스트 도구
- Android 및 iOS 모바일 앱 테스트를위한 Appium 자습서
- GUI 테스트 튜토리얼 : 완전한 사용자 인터페이스 (UI) 테스트 가이드
- 최고의 소프트웨어 테스트 도구 2021 (QA 테스트 자동화 도구)