Android 스튜디오 여정

Android 스튜디오용 Journeys는 AI의 비전 및 추론 기능을 활용하여 자연어 안내에 따라 앱을 탐색하고 테스트합니다. 여정이라고 하는 일련의 안내는 AI가 앱에서 실행하는 작업으로 변환됩니다. 또한 AI가 기기에서 확인하는 내용을 기반으로 평가하는 더 복잡한 어설션을 작성하고 설명할 수 있습니다.

Android 스튜디오 여정
Android 스튜디오용 Journeys

Gemini는 목표를 달성하기 위해 실행할 작업을 추론하므로 여정은 앱의 레이아웃 또는 동작에 대한 미묘한 변화에 더 탄력적이며, 앱의 여러 버전과 여러 기기 구성에 대해 실행할 때 불안정한 테스트가 줄어듭니다.

Android 스튜디오 또는 명령줄에서 로컬 또는 원격 Android 지원 기기에 대해 바로 여정을 작성하고 실행할 수 있습니다. IDE는 여정을 작성하기 위한 새로운 편집기 환경과 Gemini의 추론 및 여정 실행을 더 잘 따르는 데 도움이 되는 풍부한 결과를 제공합니다.

여정 작성

Android 스튜디오는 여정을 더 쉽게 만들고 편집할 수 있는 파일 템플릿과 새로운 편집기 환경을 제공합니다. 여정은 XML 구문을 사용하여 여정 설명과 단계를 구성합니다.

여정 단계가 포함된 XML 파일을 보여주는 Android 스튜디오의 여정 편집기

여정을 만들고 편집을 시작하려면 다음 단계를 따르세요.

  1. Android 스튜디오의 Project 패널에서 여정을 작성하려는 앱 모듈을 마우스 오른쪽 버튼으로 클릭합니다.
  2. New > Journey Test 를 선택합니다.
  3. 대화상자가 나타나면 여정의 이름과 설명을 입력합니다.

    Android 스튜디오에서 여정 파일을 만드는 데 사용하는 대화상자
    Android 스튜디오에서 여정 파일을 만드는 데 사용하는 대화상자

  4. Finish 를 클릭합니다. Android 스튜디오는 선택한 이름으로 여정의 XML 파일을 만듭니다. Code 뷰를 사용하여 XML을 직접 수정하거나 Design 뷰를 사용하여 편집 환경을 간소화할 수 있습니다.

  5. Design 뷰에서 여정을 볼 때 텍스트 필드를 사용하여 여정의 각 단계를 설명합니다. 각 단계에는 Gemini가 실행하기를 원하는 설명 작업 또는 Gemini가 평가하기를 원하는 어설션이 포함될 수 있습니다.

  6. 키보드에서 Enter 키를 눌러 동일한 여정에서 새 단계를 시작합니다. 정의하려는 여정의 각 단계에 대해 필요에 따라 이 단계를 반복할 수 있습니다.

빌드 변형 구성

여정은 앱의 특정 빌드 변형에 대해 실행됩니다. 마법사를 사용하여 여정을 처음 만들 때 생성된 테스트 모음은 Android 스튜디오에서 활성 상태인 빌드 변형에 대해 실행되도록 구성됩니다.

그러나 나중에 구성을 업데이트하지 않고 Android 스튜디오에서 활성 빌드 변형을 전환하는 경우 (예: demoDebug와 같은 다른 제품 버전으로) 여정을 실행하지 못합니다. 이 문제를 해결하려면 새 변형을 모듈 수준 build.gradle.kts (또는 build.gradle) 파일의 testSuites 블록에 있는 targetVariants 속성에 추가해야 합니다.

예를 들어 demoDebug 변형의 journeysTest 모음을 구성하려면 다음 단계를 따르세요.

android {
    // ...
    testSuites {
        create("journeysTest") {
            // ...
            targetVariants += listOf("demoDebug")
        }
    }
}

여정 작성 관련 도움말

AI는 지원되는 언어로 작성된 대부분의 단계를 이해할 수 있지만 여정 작성에 관한 다음 도움말을 따르면 더 정확하고 예상되는 결과를 얻을 수 있습니다.

  • 앱이 이미 포그라운드에 있다고 가정: 여정을 실행하면 앱이 자동으로 실행됩니다. 여정의 단계는 앱이 완전히 실행된 에 시작해야 합니다. 즉, '앱 실행'을 단계로 포함할 필요가 없습니다.
  • 명확한 언어 사용: 정확하게 작성하면 오해를 최소화하고 안정성을 개선할 수 있습니다.
다음 절은 사용하지 않는 것이 좋습니다. 좋은 예
'닫기 버튼 선택' '닫기' 탭 또는 '닫기'
'celery' 입력 '홈 화면 상단의 검색창에 'celery' 입력'
'스와이프하여 닫기' '왼쪽으로 스와이프하여 닫기, 그러면 카드가 더 이상 표시되지 않음'
  • 성공 기준을 단계의 일부로 포함: 이렇게 하면 Gemini가 의도를 더 잘 이해하고 작업이 완료되고 다음 작업을 시작할 수 있는 시점을 명확히 할 수 있습니다.
다음 절은 사용하지 않는 것이 좋습니다. 좋은 예
'보내기 버튼 선택' '제출 버튼을 탭하여 이메일을 보냅니다. 이렇게 하면 이메일이 닫히고 받은편지함으로 돌아갑니다.'
'장바구니로 이동' '장바구니 아이콘을 탭하면 장바구니 페이지로 이동합니다. 항목이 0개인지 확인'
'첫 번째 동영상 클릭' '첫 번째 동영상을 클릭하고 완전히 로드될 때까지 기다립니다.'
  • 여정 개선: 여정이 예상대로 실행되지 않는 경우 결과를 보고 '실행된 작업'과 상응하는 '추론'을 검사하여 Gemini가 예상대로 단계를 실행하지 않은 이유를 파악할 수 있습니다. 이 정보를 사용하여 안내를 더 명확하게 제공하세요.
  • 여정을 더 구체적인 단계로 세분화: AI는 다중 작업 단계를 해석할 수 있지만 때로는 더 세분화된 개별 단계가 여정의 정확성과 재현성을 개선할 수 있습니다.
    • "오류: 허용된 최대 시도 횟수 내에 작업을 완료할 수 없음": 이 오류가 발생하면 실패한 단계를 두 개 이상의 더 작은 단계로 나누어 보세요. 이 오류는 AI가 앱과의 최대 상호작용 횟수를 시도한 후 작업을 완료할 수 없는 경우에 발생하기 때문입니다.

지원되는 기능 및 지원되지 않는 기능

여정을 작성할 때 지원되는 기능과 아직 완전히 지원되지 않는 기능의 개요는 다음과 같습니다. 다음 목록은 일부 예시일 뿐 모두 포함하지는 않습니다.

여정 내에서 다음 작업이 지원 됩니다.

  • UI 요소를 합니다.
  • 입력 하여 텍스트 필드에 텍스트를 입력합니다.
  • 특정 방향으로 스와이프/스크롤 하여 UI를 탐색합니다.

다음 기능은 현재 완전히 지원되지 않거나 일관성 없이 실행될 수 있습니다.

  • 여러 손가락 동작 (예: 확대/축소) - 확대/축소하거나 두 손가락으로 스와이프하는 등 화면에서 동시에 두 개 이상의 접점이 필요한 상호작용입니다.
  • 길게 누르기 - 표준 탭보다 더 긴 시간 동안 손가락을 누르고 있는 것입니다.
  • 두 번 탭 - 화면의 동일한 위치를 빠르게 두 번 연속으로 탭하는 것입니다.
  • 화면 회전/접기 - 기기 방향 변경 (예: 세로 모드와 가로 모드 간) 또는 폴더블 기기의 물리적 상태 변경 (예: 열기 또는 닫기)을 처리합니다.
  • 메모리 - 이전 상호작용 또는 단계에서 특정 정보, 컨텍스트 또는 사용자 입력을 유지하고 기억합니다.
  • 계산 - 수량, 빈도 또는 진행률을 정확하게 추적합니다.
  • 조건문 - 지정된 다른 조건이 충족되는지 여부에 따라 작업을 실행합니다.

기능은 지속적으로 개선되고 있습니다. 나중에 이 페이지를 확인하여 추가 기능에 관해 알아보세요. Journeys를 개선할 수 있도록 의견을 공유해 주세요.

여정 실행

다른 계측 테스트와 마찬가지로 사용 가능한 로컬 또는 원격 기기에서 여정을 실행할 수 있으며 Android 스튜디오는 여정 실행을 이해하는 데 도움이 되는 풍부한 결과를 생성합니다.

여정을 테스트하려면 다음 단계를 따르세요.

  1. 계측 테스트를 실행할 때와 마찬가지로 기본 툴바에서 대상 기기를 선택합니다.
  2. 테스트하려는 여정 XML 파일로 이동하여 편집기에서 엽니다.
  3. 편집기에서 다음 중 하나를 실행합니다.
    1. Design 뷰에 있는 경우 Run Journey 를 클릭합니다.
    2. Code 뷰에 있는 경우 여백에서 Run 'test'를 클릭합니다. XML에서 여정 이름이 정의된 위치 옆에 있습니다.

Android 스튜디오는 Journeys Test 구성을 만들고 대상 기기에서 실행합니다. 실행 중에 Android 스튜디오는 앱을 빌드하고 배포하며 Gemini에 연결하여 여정의 각 단계에 대해 취할 작업을 결정합니다.

Android 스튜디오의 여정 테스트 결과 패널에 단계 세부정보와 Gemini의 추론이 표시됩니다.
Android 스튜디오의 여정 테스트 결과 패널로, 단계 세부정보와 Gemini의 추론을 표시합니다.

사전 설치된 앱에 대해 여정 실행

테스트 기기의 사전 설치된 앱에서 여정을 실행할 수 있습니다. 앱의 프로덕션 버전을 테스트하려는 경우 또는 앱을 아직 Android Gradle 플러그인 9.0.0 이상으로 업데이트하지 않은 경우에 유용합니다.

  1. Android Gradle 플러그인 9.0.0 이상으로 업데이트된 새 프로젝트를 열거나 만듭니다.
  2. 여정을 작성합니다.
  3. 여정의 실행 구성을 수정하고 다음 환경 변수를 추가합니다. Android 스튜디오에서 여정을 실행하려고 하면 실행 구성이 자동으로 생성됩니다.
    • JOURNEYS_CUSTOM_APP_ID를 대상 앱의 패키지 ID로 설정합니다.
  4. 수정한 여정을 실행합니다. Android 스튜디오는 지정한 대상 앱에서 여정의 단계를 실행해야 합니다.

명령줄에서 여정 실행

명령줄에서 Journeys를 실행하려면 Android CLI를 사용하세요.

결과 보기

Android 스튜디오가 여정 테스트를 완료하면 테스트 결과 패널이 자동으로 표시되어 결과를 보여줍니다.

Android 스튜디오의 여정 테스트 결과 패널에 단계 세부정보와 Gemini의 추론이 표시됩니다.
Android 스튜디오의 여정 테스트 결과 패널로, 단계 세부정보와 Gemini의 추론을 표시합니다.

Android 스튜디오에서 실행할 수 있는 다른 계측 테스트와 비교했을 때 여정 결과가 표시되는 방식에는 몇 가지 차이점이 있습니다.

  • Tests 패널은 여정을 개별 단계로 세분화합니다. 각 단계를 클릭하여 Gemini가 단계를 실행한 방법에 관한 자세한 정보를 확인할 수 있습니다.
  • Results 패널은 Gemini가 여정을 이해하고 추론한 방법과 여정이 실행된 방법을 이해하는 데 도움이 되는 풍부한 정보를 보여줍니다.
    • Gemini로 전송된 스크린샷은 단계의 각 작업에서 시각적 보조 자료로 표시됩니다.
    • 실행된 각 작업과 Gemini가 해당 작업을 실행한 이유에 관한 추론은 각 스크린샷 옆에 설명되어 있습니다.
    • 단계의 각 작업에는 번호가 매겨져 있습니다.

알려진 문제

  • 여정을 테스트할 때 앱의 모든 권한은 기본적으로 부여됩니다.
  • Android 15 (API 수준 35)를 실행하는 기기에서 여정을 테스트할 때 기기에 "안전하지 않은 앱이 차단됨"이라는 경고가 "AndroidX Crawler"에 표시될 수 있습니다. Install anyway 를 클릭하여 이 검사를 무시할 수 있습니다. 또는 기기 내 개발자 옵션을 구성하고 USB를 통해 앱 확인 옵션을 사용 중지할 수 있습니다.