320x100
320x100

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

 

300x250
728x90