Android 스튜디오 여정

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

Android 스튜디오 여정
Android 스튜디오 여정.

또한 Gemini는 목표를 달성하기 위해 실행할 작업을 추론하므로 앱의 레이아웃이나 동작이 미묘하게 변경되어도 여정이 더 탄력적으로 대응할 수 있습니다. 따라서 다양한 버전의 앱과 다양한 기기 구성에 대해 실행할 때 불안정한 테스트가 줄어듭니다.

Android 스튜디오 또는 명령줄에서 로컬 또는 원격 Android 지원 기기를 대상으로 여정을 작성하고 실행할 수 있습니다. IDE는 여정을 만드는 새로운 편집기 환경과 Gemini의 추론 및 여정 실행을 더 잘 파악할 수 있는 리치 결과를 제공합니다.

여정 작성

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

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

여정을 만들고 수정하려면 다음 단계를 따르세요.

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

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

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

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

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

여정 작성을 위한 도움말

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

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

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

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

여정 내에서 지원되는 작업은 다음과 같습니다.

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

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

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

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

여정 실행

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

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

  1. 계측 테스트를 실행할 때와 마찬가지로 기본 툴바에서 타겟 기기를 선택합니다.
  2. 테스트할 여정 XML 파일로 이동하여 편집기에서 엽니다.
  3. 편집기에서 다음 중 하나를 실행합니다.
    1. 디자인 보기에 있는 경우 여정 실행을 클릭합니다.
    2. 코드 뷰에 있는 경우 XML에서 여정 이름이 정의된 위치 옆의 여백에서 'test' 실행을 클릭합니다.

Android 스튜디오가 여정 테스트 구성을 만들어 대상 기기에서 실행합니다. 실행 중에 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 스튜디오는 지정한 타겟 앱에서 여정의 단계를 실행해야 합니다.

명령줄에서 여정 실행

명령줄에서 Gradle 작업으로 여정을 실행할 수도 있습니다.

설정

명령줄에서 여정을 사용하려면 Google Cloud에 인증해야 합니다.

참고: 이 단계에서는 gcloud CLI를 사용하여 사용자 인증 정보를 제공하며, 이 내용은 일부 개발 환경에는 적용되지 않을 수 있습니다. 필요에 따라 사용할 인증 프로세스를 자세히 알아보려면 애플리케이션 기본 사용자 인증 정보의 작동 방식을 참고하세요.

Google Cloud CLI를 설치하려면 gcloud CLI 설치의 단계를 따르세요.

사용자 인증 정보

다음 터미널 명령어를 사용하여 수동으로 승인할 수 있습니다.

gcloud auth application-default login

서비스 계정 사용자 인증 정보의 경우

아직 만들지 않았다면 가이드에 따라 프로젝트의 서비스 계정 사용자 인증 정보를 만듭니다.

  • 서비스 계정 키를 만든 프로젝트에 IAM Service Account Credentials API가 사용 설정되어 있는지 확인합니다.
  • 관리자 사용자 및 서비스 계정에 Service Account Token Creator 권한이 부여되어 있는지 확인합니다.

인증하려면 다음 명령어를 실행합니다.

gcloud auth application-default login --impersonate-service-account SERVICE_ACCOUNT_EMAIL

Gradle 작업으로 실행

명령줄에서 Gradle 작업을 직접 실행하여 여정을 실행합니다. 작업을 실행하면 테스트 결과가 로그에 표시되고 HTML 및 XML 테스트 결과 파일이 생성됩니다.

모든 여정 실행 다음 명령어를 사용하여 테스트 모음의 모든 여정을 실행할 수 있습니다.

./gradlew :app:testJourneysTestDefaultDebugTestSuite

단일 여정을 실행하려면 다음과 같이 JOURNEYS_FILTER를 사용하여 실행할 여정의 이름을 지정합니다.

JOURNEYS_FILTER=your_journey_name.journey.xml ./gradlew :app:testJourneysTestDefaultDebugTestSuite

하위 디렉터리에서 모든 여정을 실행하려면 JOURNEYS_FILTER을 하위 디렉터리 이름으로 설정합니다. 예를 들어 다음 명령어는 테스트 모음 루트 디렉터리 내의 home 하위 디렉터리에 있는 모든 여정을 실행합니다.

JOURNEYS_FILTER=home ./gradlew :app:testJourneysTestDefaultDebugTestSuite

결과 보기

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

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

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

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

알려진 문제

  • 여정을 테스트할 때는 앱의 모든 권한이 기본적으로 부여됩니다.
  • Android 15 (API 수준 35)를 실행하는 기기에서 여정을 테스트할 때 기기에 '안전하지 않은 앱이 차단됨'이라는 경고가 'AndroidX 크롤러'에 표시될 수 있습니다. 어쨌든 설치를 클릭하여 이 검사를 우회할 수 있습니다. 또는 온디바이스 개발자 옵션을 구성하고 USB를 통해 설치된 앱 확인 옵션을 사용 중지할 수 있습니다.