Test-App für Mediencontroller verwenden

Medien-Apps, die per Sprachbefehl mit Google Assistant auf Android-Smartphones interagieren, Autos, Fernseher und Kopfhörer werden von Android Media Session APIs betrieben und nutzen Medienaktionen. Der Lebenszyklus von Mediaaktionen ist nicht immer einfach zu verfolgen. Selbst eine einfache Wiedergabe in der Suche Anfrage hat viele Zwischenschritte, bei denen etwas schiefgehen könnte. Dies wird im Abschnitt vereinfachte Zeitachse:

Der Lebenszyklus von Mediaaktionen

Abbildung 1: Der Lebenszyklus von Mediaaktionen

Media Controller Test (MCT) können Sie die Feinheiten der Medienwiedergabe auf Android-Geräten testen überprüfen Sie Ihre Media-Session-Implementierung.

Das MCT zeigt Informationen zum MediaController deiner App an, z. B. PlaybackState und Metadaten. Außerdem können sie zum Testen von App-internen Mediensteuerelementen verwendet werden. Das MCT umfasst auch Verifikationstests Framework, das können Sie Ihre QA-Tests automatisieren.

Zur Verwendung des MCT muss Ihre App einen Medienbrowserdienst haben und Sie müssen dem MCT erlauben, eine Verbindung herzustellen. Weitere Informationen finden Sie unter Medienbrowserdienst erstellen .

MCT starten

MCT-Startseite
Abbildung 2: MCT-Startseite

Wenn Sie MCT starten, werden zwei Listen angezeigt:

  • Active MediaSessions: Diese Liste ist beim Start des MCT anfangs leer. und die Meldung „Keine Medien-Apps gefunden. Benachrichtigung Für die Suche nach aktiven Mediensitzungen ist eine Hörerberechtigung erforderlich." Klicken Sie auf Einstellungen, wechseln Sie zum Berechtigungsbildschirm und aktivieren Sie die Berechtigung für das MCT.
  • MediaBrowserService-Implementierungen: In dieser Liste werden Apps angezeigt, die einen Medienbrowser-Dienst implementiert haben. Wenn Sie einen Medienbrowser-Dienst implementiert haben, wird Ihre App in dieser Liste angezeigt. Sie können das MCT aber nur verwenden, wenn Sie Ihre App so konfiguriert haben, dass alle oder das MCT auf die Zulassungsliste gesetzt hat. Siehe Clientverbindungen steuern mit onGetRoot() .

Telefon-App manuell testen

Wenn Sie dem MCT erlaubt haben, eine Verbindung zum Medienbrowserdienst Ihrer App herzustellen, wird Ihre App in der Liste der Implementierungen der Mediabrowser-Dienste angezeigt. Dort finden und klicken Sie auf Steuern, um die App im Hintergrund zu starten.

Andernfalls müssen Sie die App zuerst selbst im Hintergrund starten und dann auf Festlegen, wann es in der Liste der aktiven Mediensitzungen angezeigt wird.

Test – Vorbereiten und Spielen

Wenn das MCT mit der Steuerung Ihrer App beginnt, wird die aktuelle Sitzung der App angezeigt. Metadaten: das aktuell ausgewählte Medium und die Aktionen, die in der Sitzung ausgeführt werden die Sie bewältigen können.

Die Kontrollseite
Abbildung 3: Die Seite „Kontrolle“

Oben auf der Seite mit den MCT-Steuerelementen finden Sie ein Drop-down-Menü, in dem Sie Search, URI, Media ID oder None, zusammen mit einem Textfeld um die Eingabedaten für die Suche, den URI oder die Media-ID anzugeben, wenn Sie wählen Sie eine dieser Optionen aus.

Mit den Schaltflächen Vorbereiten und Abspielen direkt unter dem Textfeld führen Sie angemessene Aufrufe (onPrepare(), onPrepareFromSearch(), onPrepareFromUri(), onPrepareFromMediaId(), onPlay(), onPlayFromSearch(), onPlayFromUri(), onPlayFromMediaId()), je nachdem, welche Aktion Sie ausgewählt haben.

Audiofokus wird getestet

Eine gute Medien-App sollte mit Audioinhalten umgehen können. fokus. Sie können den Audiofokus testen, neben Ihrer App eine weitere Audio-App ausführen. Die Seite für MCT-Steuerungen enthält ein Schaltfläche, die den Audiofokus anfordert und wieder freigibt.

So testen Sie den Audiofokus:

  1. Wählen Sie im Drop-down-Menü Audiofokus einen der drei Hinweise zur Dauer aus. AUDIOFOCUS_GAIN, AUDIOFOCUS_GAIN_TRANSIENT oder AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK.
  2. Drücke die Taste, um den Fokus anzufordern.
  3. Drücken Sie die Taste noch einmal, um den Fokus aufzuheben.

Transportkontrollen testen

Transport Controls testen
Abbildung 4: Transport Controls testen

Wische nach links, um die UI-Ansicht des MCT anzuzeigen. Diese Ansicht hat die Standard-Transportschaltflächen der Media-Controller und zeigt die Bild und Daten des Programms. Deaktivierte Transportschaltflächen sind in Orange. Alle anderen sind aktiv.

Teste deinen Player mithilfe der Transportschaltflächen. Status der Transportschaltflächen wie erwartet sich ändern sollte. Wenn Sie beispielsweise die Wiedergabetaste drücken, deaktiviert und die Schaltflächen PAUSE und STOP aktiviert werden.

Wischen Sie noch einmal nach links, um eine Ansicht mit optionalen Aktionen aufzurufen. Jede Aktion ein Steuerelement, das anzeigt, ob es aktiv ist oder nicht. Ist er aktiv, können Sie die Aktion ausführen, indem Sie darauf klicken.

Wenn Sie über die Liste der Apps, die einen Medienbrowserdienst haben, eine Verbindung hergestellt haben, können Sie Wischen Sie noch zweimal nach links, um sich die Inhalte Ihrer App anzusehen. oder im Inhaltsbaum suchen.

Video-App manuell testen

Verwenden Sie den Splitscreen-Modus, um Video-App-Controller zu testen. Öffne zuerst die Video-App in einem Fenster öffnen und das MCT dann im Splitscreen-Modus öffnen.

Überprüfungstests ausführen

Das Framework für Überprüfungstests bietet Ein-Klick-Tests, prüfen, ob Ihre Medien-App korrekt auf eine Wiedergabeanfrage reagiert.

Telefon-App testen

Die Test-Schaltfläche
Abbildung 5: Testschaltfläche

Um auf die Bestätigungstests zuzugreifen, klicken Sie neben dem Medium auf die Schaltfläche Testen.

MCT-Status

Medienkontrollstatus
Abbildung 6: Medienkontrollstatus

In der nächsten Ansicht sehen Sie detaillierte Informationen zum MediaController, z. B. PlaybackState, Metadaten und die Warteschlange. Es gibt zwei Tasten oben rechts in der Symbolleiste. Mit der Schaltfläche auf der linken Seite können Sie und formatierten Logs enthalten. Mit der Schaltfläche rechts wird die Ansicht aktualisiert und auf dem neuesten Stand halten.

Test auswählen

Die Seite für die Testauswahl
Abbildung 7: Die Seite für die Testauswahl

Wenn Sie nach links wischen, gelangen Sie zur Ansicht mit den Bestätigungstests. Hier können Sie eine scrollbare Liste der verfügbaren Tests. Wenn bei einem Test eine Abfrage wie die wie in Abbildung 7 dargestellt, ein Textfeld zum Eingeben der Abfragezeichenfolge.

Das MCT umfasst Tests für die folgenden Medienaktionen. Weitere Tests sind kontinuierlich zum Projekt hinzugefügt werden:

  • Wiedergeben
  • Aus der Suche wiedergeben
  • ID der Wiedergabe über Media
  • Über URI wiedergeben
  • Pausieren
  • Aufnahme beenden
  • Weiter
  • Weiter zum vorherigen Titel
  • In die Warteschlange springen
  • Springen zu

Testergebnisse

Erfolgreiches Testergebnis
Abbildung 8: Erfolgreiches Testergebnis

Der Ergebnisbereich unten in der Ansicht ist zunächst leer. Es wird die wenn Sie einen Test durchführen. Um beispielsweise den Test für die Wiedergabe von Suchergebnissen durchzuführen, Geben Sie eine Suchanfrage in das Textfeld ein und klicken Sie auf Test ausführen. Die folgenden Der Screenshot zeigt ein erfolgreiches Testergebnis.

Android TV-App testen

Wenn Sie das MCT auf Android TV starten, sehen Sie eine Liste der installierten Medien-Apps. Eine App wird nur dann in dieser Liste angezeigt, wenn sie einen Medienbrowser implementiert. .

MCT-Startseite im Fernsehen

Abbildung 9: Die MCT-Startseite im Fernsehen

Wenn Sie eine App auswählen, gelangen Sie zum Testbildschirm, auf dem rechts eine Liste von Bestätigungstests angezeigt wird.

Die Seite „Überprüfungstests“ auf dem Fernseher

Abbildung 10: Die Seite „Überprüfungstests“ auf Fernsehern

Beim Ausführen eines Tests werden auf der linken Seite des Bildschirms Informationen zur ausgewählten MediaController. Weitere Informationen finden Sie in den MCT-Logs in Logcat.

Die Seite mit den Testinformationen auf dem Fernseher

Abbildung 11: Die Testinformationsseite auf dem Fernseher

Tests, die eine Abfrage erfordern, sind mit einem Tastatursymbol gekennzeichnet. Wenn Sie auf eine der öffnen diese Tests ein Eingabefeld für die Abfrage. Drücken Sie die Eingabetaste, um den Test zu starten.

Zur Vereinfachung der Texteingabe können Sie auch den Befehl adb verwenden:

adb shell input text your-query

Sie können "%s" verwenden. um ein Leerzeichen zwischen den Wörtern einzufügen. Beispiel: fügt den Text "Hello World" in das Eingabefeld ein.

adb shell input text hello%sworld

Test erstellen

Sie können eine Pull-Anfrage mit weiteren Tests senden, die Sie für nützlich halten. Informationen zum Erstellen neuer Tests finden Sie in der MCT-GitHub-Wiki und sehen Sie sich die Bestätigungstest Anleitung.

Bitte lies die Anleitung für den Beitrag.

Weitere Informationen

Das MCT sollte in Verbindung mit Apps verwendet werden, die Medien-APIs implementieren. Weitere Informationen finden Sie in der Universeller Android-Musikplayer ein Beispiel für eine solche App.

Fehlerkorrekturen und Verbesserungen sind uns immer willkommen. In der Anleitung für Spenden.