Używanie aplikacji testowej kontrolera multimediów

Aplikacje multimedialne, które komunikują się głosowo z Asystentem Google na telefonach z Androidem, samochodach, telewizorach i słuchawkach, korzystają z interfejsów API sesji multimediów na Androidzie i używają działań związanych z multimediami. Śledzenie cyklu medialnego może być trudne. Nawet proste odtworzenie z żądania wyszukiwania ma wiele etapów pośrednich, w których coś może pójść nie tak, jak widać na uproszczonej osi czasu:

Cykl życia w mediach

Rysunek 1. Cykl życia w mediach

Aplikacja Media Controller Test (MCT) pozwala przetestować tajniki odtwarzania multimediów na Androidzie i ułatwi zweryfikowanie implementacji sesji multimediów.

MCT udostępnia informacje o elemencie MediaController Twojej aplikacji, takie jak PlaybackState i metadane, i może służyć do testowania opcji sterowania multimediami w aplikacjach. MCT zawiera też schemat testowania weryfikacji, który pozwala zautomatyzować kontrolę jakości.

Aby korzystać z MCT, Twoja aplikacja musi mieć usługę przeglądarki multimediów, a MCT musi się z nią połączyć. Więcej informacji znajdziesz w artykule Tworzenie przeglądarki multimediów.

Rozpoczęcie MCT

Strona startowa MCT
Rysunek 2. strona startowa MCT

Po uruchomieniu MCT zobaczysz 2 listy:

  • Active MediaSessions – ta lista jest początkowo pusta po uruchomieniu MCT i wyświetla się komunikat „Nie znaleziono aplikacji multimedialnych. Powiadomienia Do skanowania w poszukiwaniu aktywnych sesji multimediów wymagane są uprawnienia słuchacza." Kliknij Settings (Ustawienia), aby przejść na ekran uprawnień i włączyć MCT.
  • Implementacje usług MediaBrowserService – ta lista zawiera aplikacje, w których zaimplementowano usługę przeglądarki do multimediów. Jeśli masz wdrożoną usługę przeglądarki multimediów, Twoja aplikacja pojawi się na tej liście, ale z MCT możesz korzystać tylko wtedy, gdy skonfigurujesz ją tak, aby akceptowała wszystkie połączenia lub umieścisz MCT na liście dozwolonych. Więcej informacji znajdziesz w artykule o kontrolowaniu połączeń klienta za pomocą onGetRoot().

Ręczne testowanie aplikacji telefonicznej

Jeśli pozwolisz MCT połączyć się z usługą przeglądarki multimediów w Twojej aplikacji, aplikacja pojawi się na liście implementacji listy usług w przeglądarce multimediów. Znajdź go i kliknij Sterowanie, aby uruchomić aplikację w tle.

W przeciwnym razie musisz najpierw samodzielnie uruchomić aplikację w tle, a potem kliknąć Sterowanie, gdy pojawi się na liście aktywnych sesji multimediów.

Przygotowanie do testów

Gdy MCT zacznie kontrolować aplikację, wyświetla metadane bieżącej sesji aplikacji: obecnie wybrane multimedia oraz działania, do których sesja ma być przygotowana.

Strona kontrolna
Rysunek 3. Strona kontrolna

W górnej części strony elementów sterujących MCT znajduje się menu, z którego możesz wybrać Szukaj, Identyfikator URI, Identyfikator mediów lub Brak, a także pole tekstowe do określenia danych wejściowych powiązanych z wyszukiwaniem, identyfikatorem URI lub identyfikatorem mediów (jeśli wybierzesz jedną z tych opcji).

Przyciski Przygotuj i Odtwórz pod polem tekstowym mogą wykonywać odpowiednie wywołania (onPrepare(), onPrepareFromSearch(), onPrepareFromUri(), onPrepareFromMediaId(), onPlay(), onPlayFromSearch(), onPlayFromUri(),onPlayFromMediaId()) w zależności od wybranego działania.

Testuję koncentrację audio

W dobrej aplikacji aplikacja do multimediów powinna obsługiwać audiofokus. Możesz przetestować koncentrację audio, uruchamiając obok aplikacji inną aplikację audio. Strona sterowania MCT zawiera przycisk, który wysyła żądania i udostępnia fokus audio.

Aby przetestować aktywność audio, wykonaj te czynności:

  1. W menu Koncentracja na dźwięku wybierz jedną z 3 podpowiedzi dotyczących czasu trwania: AUDIOFOCUS_GAIN, AUDIOFOCUS_GAIN_TRANSIENT lub AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK.
  2. Naciśnij przycisk, aby poprosić o zaznaczenie.
  3. Naciśnij przycisk ponownie, aby zwolnić ostrość.

Testowanie ustawień transportu

Testowanie ustawień transportu
Rysunek 4. Testowanie ustawień transportu

Przesuń w lewo, aby wyświetlić interfejs MCT. Zawiera on standardowe przyciski transportu kontrolera multimediów oraz obraz i dane programu sesji. Wyłączone przyciski transportu są zaznaczone na pomarańczowo. Pozostałe są aktywne.

Przetestuj odtwarzacz za pomocą przycisków transportu. Stan przycisków transportu powinien zmienić się zgodnie z oczekiwaniami. Na przykład po naciśnięciu przycisku ODTWÓRZ przycisk ODTWÓRZ powinien zostać wyłączony, a przyciski PAUZA i ZATRZYMAJ – włączone.

Jeszcze raz przesuń palcem w lewo, aby wyświetlić widok z opcjonalnymi czynnościami. Każde działanie ma element sterujący, który wskazuje, czy jest ono aktywne. Jeśli jest aktywny, możesz je kliknąć.

Jeśli masz połączenie z listą aplikacji obsługujących przeglądarkę multimediów, możesz jeszcze 2 razy przesunąć palcem w lewo, aby wyświetlić widok, który pozwala przechodzić w górę i w dół hierarchii treści oraz przeszukiwać drzewo treści.

Ręczne testowanie aplikacji wideo

Testuj kontrolery aplikacji wideo za pomocą trybu podzielonego ekranu. Najpierw otwórz aplikację wideo w jednym oknie, a potem MCT w trybie podzielonego ekranu.

Przeprowadzanie testów weryfikacyjnych

Platforma do testowania weryfikacji umożliwia przeprowadzanie testów jednym kliknięciem, które pozwalają sprawdzić, czy aplikacja do multimediów prawidłowo odpowiada na żądanie odtwarzania.

Testowanie aplikacji na telefon

Przycisk Test
Rysunek 5. Przycisk testowania

Aby uzyskać dostęp do testów weryfikacyjnych, kliknij przycisk Przetestuj obok aplikacji multimedialnej.

Stan MCT

Stan sterowania multimediami
Rysunek 6. Stan sterowania multimediami

Następny widok zawiera szczegółowe informacje o tabeli MediaController w MCT, np. PlaybackState, metadane i kolejkę. W prawym górnym rogu paska narzędzi Za pomocą przycisku po lewej stronie można przełączać się między logami możliwymi do analizowania i sformatowanymi. Przycisk po prawej stronie odświeża widok i wyświetla najnowsze informacje.

Wybieranie testu

Strona wyboru testu
Rysunek 7. Strona wyboru testu

Gdy przesuniesz palcem w lewo, wyświetli się widok testów weryfikacji, w którym możesz przeglądać przewijaną listę dostępnych testów. Jeśli test korzysta z zapytania, tak jak w przypadku testu odtwarzania z wyszukiwania pokazanego na Rysunku 7, dostępne jest pole tekstowe do wpisania ciągu zapytania.

MCT obejmuje testy następujących działań związanych z mediami, a do projektu jest stale dodawanych kolejnych testów:

  • Odtwórz
  • Odtwarzanie z wyszukiwarki
  • Odtwórz z identyfikatora multimediów
  • Odtwórz z URI
  • Wstrzymaj
  • Zatrzymaj
  • Dalej
  • Wstecz
  • Przejdź do kolejki
  • Przewiń do

Wyniki testu

Pomyślny wynik testu
Rysunek 8. Pomyślny wynik testu

Obszar wyników u dołu widoku jest początkowo pusty. Zobaczysz wyniki testu. Aby na przykład uruchomić test wyszukiwania, wpisz zapytanie w polu tekstowym i kliknij Uruchom test. Poniższy zrzut ekranu pokazuje pomyślny wynik testu.

Testowanie aplikacji na Androida TV

Po uruchomieniu MCT na Androidzie TV zobaczysz listę zainstalowanych aplikacji do multimediów. Pamiętaj, że aplikacja pojawi się na tej liście tylko wtedy, gdy zaimplementowana jest usługa przeglądarki multimediów.

Strona startowa MCT w telewizji

Rysunek 9. Strona wprowadzenia na rynek MCT w telewizji

Gdy wybierzesz aplikację, wyświetli się ekran testowania, z którego po prawej stronie wyświetli się lista testów.

Strona Weryfikacja na telewizorze

Rysunek 10. Strona Weryfikacja na telewizorze

Po uruchomieniu testu w lewej części ekranu pojawią się informacje o wybranym kontrolerze MediaController. Więcej informacji znajdziesz w logach MCT w Logcat.

Strona z informacjami z testu na telewizorze

Rysunek 11. Strona z informacjami z testu na telewizorze

Testy wymagające zapytania są oznaczone ikoną klawiatury. Kliknięcie jednego z tych testów spowoduje otwarcie pola do wprowadzania zapytania. Aby uruchomić test, naciśnij Enter.

Aby ułatwić sobie wpisywanie tekstu, możesz też użyć polecenia adb:

adb shell input text your-query

Możesz użyć „%s”, aby dodać spację między słowami. Na przykład to polecenie dodaje do pola do wprowadzania danych tekst „Witaj świecie”.

adb shell input text hello%sworld

Tworzenie testu

Możesz przesłać żądanie pull z większą liczbą testów, które Twoim zdaniem są przydatne. Aby dowiedzieć się, jak tworzyć nowe testy, wejdź na stronę MCT GitHub Wiki i przeczytaj instrukcje dotyczące testowania weryfikacji.

Zapoznaj się z instrukcjami dodawania treści do publikacji.

Dodatkowe materiały

MCT należy używać w połączeniu z aplikacjami, które implementują interfejsy API multimediów. Przykład takiej aplikacji znajdziesz w artykule Universal Android Music Player.

Poprawki błędów i ulepszenia są zawsze mile widziane. Zapoznaj się z instrukcjami udostępniania treści.