한국의 개발자들을 위한 Google for Developers 국문 블로그입니다.
Android에서 Google 어시스턴트 미디어 작업 통합 검증하기
2018년 10월 29일 월요일
원문은
이곳
에서 확인하실 수 있으며 리뷰에는 이승민(Android GDE)님이 수고해주셨습니다.
게시자: Nevin Mital, 파트너 개발자 관계 담당자
MCT(Media Controller Test
) 앱은 Android에서 미디어 재생과 관련된 복잡한 문제를 테스트할 수 있게 해주는 강력한 도구로, 이제는 훨씬 더 유용성이 강화되었습니다. Android 스마트폰, 자동차, TV, 헤드폰 등에서 Google 어시스턴트를 통한 음성 상호 작용을 비롯한 미디어 환경은 Android MediaSession API로 구동됩니다. 이 도구는 미디어 작업 통합을 검증하는 것에 도움이 됩니다. 우리는 QA 테스트 자동화 지원에 사용할 수 있는 새로운
검증 테스트 프레임워크
를 추가했습니다.
MCT는
Universal Android Music Player
와 같은 미디어 API를 구현하는 앱과 함께 사용하도록 되어 있습니다. MCT는 PlaybackState 및 Metadata와 같은 미디어 앱의 MediaController에 대한 정보를 노출하는데, MCT를 사용하여 앱 간 미디어 컨트롤을 테스트할 수 있습니다.
Media Action Lifecycle은 따라가기 복잡할 수 있습니다. 간단한 Play From Search 요청에도 중간 단계가 많아서(아래에 타임라인 형태로 간략히 묘사함) 뭔가 하나라도 잘못될 경우 문제가 될 가능성이 높습니다. MCT를 사용하여 음악 앱이 MediaController TransportControl 요청을 처리하는 방식에서 불일치 사항을 강조표시할 수 있습니다.
이전에는 MCT를 사용하려면 많은 수동 상호 작용과 모니터링이 필요했습니다. 새로운 검증 테스트 프레임워크는 미디어 앱이 재생 요청에 올바로 응답하는지 확인할 수 있는 원클릭 테스트 기능을 제공합니다.
검증 테스트 실행
MCT에서 새로운 검증 테스트에 액세스하려면 원하는 미디어 앱 옆에 있는
Test
버튼을 클릭하세요.
다음 화면에는 MediaController에 대한 세부 정보(예: PlaybackState, Metadata, Queue)가 표시됩니다. 오른쪽 위의 툴바에는 버튼이 두 개 있는데, 왼쪽 버튼은 파싱 가능한 로그와 서식 지정된 로그 사이를 전환하는 토글 버튼이고 오른쪽 버튼은 가장 최신 정보를 표시하도록 이 뷰를 새로 고칠 수 있는 버튼입니다.
왼쪽으로 스와이프하면 검증 테스트 뷰가 나오는데, 이 뷰에는 정의된 테스트를 스크롤하며 볼 수 있는 목록, 쿼리가 필수적인 테스트에 대한 쿼리를 입력하는 텍스트 필드, 테스트 결과를 표시하는 섹션이 표시됩니다.
한 예로, Play From Search Test를 실행하려면 텍스트 필드에 검색어를 입력한 다음
Run Test
버튼을 누르면 됩니다. 테스트에 성공한 것으로 보이는군요!
아래는 Pause Test(왼쪽)와 Seek To Test(오른쪽)의 예입니다.
Android TV
MCT는 현재 Android TV에서도 작동합니다. 미디어 앱이 MCT의 Android TV 버전과 작동하려면 미디어 앱에
MediaBrowserService
가 구현되어 있어야 합니다. 그 자세한 방법은
여기
를 확인해 보세요.
Android TV에서 MCT를 실행하면 설치된 미디어 앱의 목록이 나타납니다. 이 목록에는 MediaBrowserService를 구현하는 앱만 표시됩니다.
앱을 선택하면 테스트 화면으로 이동하며, 이 화면의 오른쪽에 검증 테스트 목록이 표시됩니다.
테스트를 실행하면 화면 왼쪽이 선택한 MediaController 정보로 채워집니다. 자세한 내용은 Logcat에서 MCT 로그를 확인해 보세요.
쿼리가 필요한 테스트는 키보드 아이콘과 함께 표시됩니다. 이러한 테스트 중 하나를 클릭하면 쿼리를 입력하는 입력란이 열립니다.
Enter
키를 누르면 테스트가 실행됩니다.
텍스트를 더 쉽게 입력하기 위해 다음과 같이 ADB 명령어를 사용할 수도 있습니다.
adb shell input text [query]
'%s'는 단어 사이에 공백을 추가하는 역할을 합니다. 예를 들어 adb shell input text hello%sworld 명령어를 실행하면 입력란에 'hello world'라는 텍스트가 추가됩니다.
다음 단계
MCT에는 현재 다음과 같은 요청에 대한 간단한 단일 미디어 작업 테스트가 포함되어 있습니다.
Play
Play From Search
Play From Media ID
Play From URI
Pause
Stop
Skip To Next
Skip To Previous
Skip To Queue Item
Seek To
테스트의 구조와 더 많은 테스트를 추가하는 방법에 관한 자세한 기술적 사항은
MCT GitHub 위키
를 참조하세요. 있으면 유용할 것이라 생각하는 테스트와 버그 수정에 대한 풀 리퀘스트를 제출해주시면 고맙겠습니다. 자세한 내용은 기여
절차
를 살펴보시기 바랍니다.
GitHub
에 관한 최신 업데이트를 확인해 보세요.
Contents
ML/Tensorflow
Android
Flutter
Web/Chrome
Cloud
Google Play
Community
Game
Firebase
검색
Tag
인디게임페스티벌
정책 세미나
창구프로그램
AdMob
AI
Android
Android 12
Android 12L
Android 13
Android 14
Android Assistant
Android Auto
Android Games
Android Jetpack
Android Machine Learning
Android Privacy
Android Studio
Android TV
Android Wear
App Bundle
bootcamp
Business
Chrome
Cloud
Community
compose
Firebase
Flutter
Foldables
Game
gdg
GDSC
google
Google Developer Student Clubs
Google Play
Google Play Games
Interview
Jetpack
Jetpack Compose
kotlin
Large Screens
Library
ma
Material Design
Material You
ML/Tensorflow
mobile games
Now in Android
PC
Play Console
Policy
priva
wa
wear
Wearables
Web
Web/Chrome
Weeklyupdates
WorkManager
Archive
2024
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2023
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2022
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2021
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2020
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2019
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2018
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2017
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2016
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2015
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2014
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2013
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2012
12월
11월
10월
9월
8월
7월
6월
5월
3월
2월
1월
2011
12월
11월
Feed