firbase testlab
구글 데이터 센터에 호스팅된 기기로 모바일 애플리케이션을 테스트 하는 서비스
arm 호스트에서 안드로이드 및 IOS 애플리케이션을 테스트 가능
구글 데이터 센터에 설치된 실제 기기로도 실행 테스트를 수행
firebase console, 안드로이드 스튜디오, gcloud cli와 통합된 사용이 가능
firebase testlab이 지원하는 테스트 방법
- 안드로이드 계측 테스트
Espresso 혹은 UI Automator 프레임워크에 맞게 작성된 테스트 스크립트로 진행하는 테스트
- IOS / 안드로이드 로보 테스트
파이어베이스 테스트랩에 통합된 테스트 도구
애플리케이션의 UI 구조를 분석한 후 사용자 활동을 자동으로 시뮬레이션하여 체계적으로 탐색
Robo 스크립트를 작성하여 세밀한 제어가능
- iOS 및 안드로이드 용 게임 루프 테스트
- iOS용 XCtest
XCode를 이용한 파이어베이스 테스트 랩 테스트
IOS / 안드로이드 로보 테스트 (firebase test lab)
> https://firebase.google.com/docs/test-lab/android/run-robo-scripts?hl=ko%EF%BB%BF
Robo 스크립트 실행(Android) | Firebase Test Lab
5월 20일~21일, Google I/O에서 Firebase가 돌아옵니다. 지금 등록하기 의견 보내기 Robo 스크립트 실행(Android) 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 이 문
firebase.google.com
기본 JSON 형식으로 작성하며 하위
firebase test lab robo 스크립트
간단한 UI 탐색 제어
robo 스크립트의 최상위 지시자
- version (optional)
스크립트의 버전. 기본 값 1
{
"version": 1,
"actions": [
"action": "click",
"resourceName": "com.example.app:id/button1"
]
}
- actions (required)
스크립트에서 수행할 작업 목록. 배열 형태로 여러 동작을 정의
{
"actions": [
"action": "click",
"resourceName": "com.example.app:id/button1"
]
}
- metadata (optional)
테스트 실행헤 필요한 부가 정보 정의. 주로 사용자 정의 데이터나 디버깅 정보를 기재
{
"metadata": {
"description": "로그인 버튼 테스트",
"testCaseId": "TC001"
},
"actions": [
{
"action": "click",
"resourceName": "com.example.app:id/loginButton"
}
]
}
- environmentVariables (optional)
스크립트 실행 시 사용할 환경 변수의 값 정의
{
"environmentVariables": {
"username": "testUser",
"password": "password123"
},
"actions": [
{
"action": "input",
"resourceName": "com.example.app:id/usernameField",
"text": "${username}"
},
{
"action": "input",
"resourceName": "com.example.app:id/passwordField",
"text": "${password}"
}
]
}
firebase test lab directives
특정 조건에서 실행할 이벤트 리스트를 정의
firebase test lab 공식문서의 robo 스크립트 예제의 형식
위에서 언급한 robo 스크립트에 비해 더 복잡한 테스트 시나리오에 대해 대응
특정 UI 상태에서 동작을 정의하거나 Espresso 테스트의 동작을 흉내낼 때 적합
robo directives의 최상위 지시자
- crawlStage
지시를 적용할 robo 테스트의 단계
> crawl (앱 탐색 단계에서 동작 수행)
> postCrawl (탐색 완료 후 추가 작업 수행)
- contextDescriptor
지시가 적용될 조건 정의
> condition (지시가 실행될 조건)
> app_under_test_shown (앱이 화면에 표시된 상태)
> specific_view_visible (특정 UI 요소가 화면에 표시된 상태)
> resourceId (지시를 실행할 특정 리소스 ID)
- actions
수행할 작업 목록으로 배열로 작성
각 작업은 앱의 UI와 상호작용하거나 특정 이벤트를 트리거
> eventType (수행할 작업의 유형)
> VIEW_CLICKED (UI 요소 클릭)
> VIEW_TEXT_CHANGES (텍스트 입력)
> SCROLL (화면 스크롤)
> replacementText (텍스트 입력 시 사용할 값)
> elementDescriptors (작업이 적용될 UI 요소를 정의)
Reference
https://firebase.google.com/docs/test-lab?hl=ko
Firebase Test Lab
Google 데이터 센터에 호스팅된 기기로 앱을 테스트하세요.
firebase.google.com
'Development > Development' 카테고리의 다른 글
| ts로 구현하는 소프트웨어 개발 디자인 패턴 총 정리 (1) | 2025.06.09 |
|---|---|
| 객체 지향 설계 원칙 (SOLID / DRY / YAGNI / KISS) (2) | 2025.05.27 |
| 리더가 생각하는 시니어와 주니어 (0) | 2025.03.18 |
| 성공적인 경력 기술서를 만들기 위한 방법 (0) | 2025.03.18 |
| 소프트웨어 버전 관리 방법 (0) | 2025.03.18 |
