Medya denetleyici test uygulamasını kullanma

Android telefonlarda, arabalarda, TV'lerde ve kulaklıklarda Google Asistan'la sesle etkileşimde bulunan medya uygulamaları Android medya oturumu API'leri tarafından desteklenir ve medya işlemlerini kullanır. Medya işlemleri yaşam döngüsünü takip etmek zor olabilir. Arama isteğinden alınan basit bir oynatmada bile bir şeylerin ters gidebileceği birçok ara adım vardır. Bunlar, basitleştirilmiş zaman çizelgesinde gösterildiği gibidir:

Medya İşlem Yaşam Döngüsü

Şekil 1. Medya İşlem Yaşam Döngüsü

Medya Denetleyici Testi (MCT) uygulaması, Android'de medya oynatmanın karmaşık yönlerini test etmenize olanak tanır ve medya oturumu uygulamanızı doğrulamanıza yardımcı olur.

MCT, uygulamanızın MediaController hakkında PlaybackState ve meta verileri gibi bilgileri gösterir ve uygulamalar arası medya kontrollerini test etmek için kullanılabilir. MCT, QA testinizi otomatikleştirmenizi sağlayan bir doğrulama test çerçevesi de içerir.

MCT'yi kullanmak için uygulamanızda bir medya tarayıcısı hizmetine sahip olmanız ve MCT'nin bu hizmete bağlanmasına izin vermeniz gerekir. Daha fazla bilgi için Medya tarayıcı hizmeti oluşturma bölümüne bakın.

MCT'yi başlatma

MCT Lansman Sayfası
Şekil 2. MCT Lansman Sayfası

MCT'yi kullanıma sunduğunuzda iki liste görürsünüz:

  • Active MediaSessions: MCT'yi başlattığınızda bu liste başlangıçta boş olur ve "Hiçbir medya uygulaması bulunamadı. Etkin medya oturumlarını taramak için Bildirim Dinleyici izni gerekir." İzinler ekranına gitmek ve MCT iznini etkinleştirmek için Ayarlar'ı tıklayın.
  • MediaTarayıcı Hizmeti Uygulamaları - Bu liste, bir medya tarayıcısı hizmeti uygulayan uygulamaları gösterir. Bir medya tarayıcısı hizmeti kullandıysanız uygulamanız bu listede görünür ancak MCT'yi yalnızca uygulamanızı tüm bağlantıları kabul edecek şekilde yapılandırdıysanız veya MCT'yi izin verilenler listesine eklediyseniz kullanabilirsiniz. Daha fazla bilgi için onGetRoot() ile istemci bağlantılarını kontrol etme bölümüne bakın.

Telefon uygulamalarını manuel olarak test etme

MCT'nin uygulamanızın medya tarayıcısı hizmetine bağlanmasına izin verdiyseniz uygulamanız medya tarayıcısı hizmet listesi uygulamaları listesinde görünür. Orada bulun ve uygulamanızı arka planda başlatmak için Kontrol et'i tıklayın.

Aksi takdirde, önce uygulamanızı arka planda kendiniz başlatmanız, ardından etkin medya oturumları listesinde göründüğünde Kontrol et'i tıklamanız gerekir.

Teste hazırlanma ve oynama

MCT uygulamanızı kontrol etmeye başladığında, uygulamanın geçerli oturum meta verileri (şu anda seçili olan medya ve oturumun işlemeye hazır olduğu işlemler) görüntülenir.

Kontrol Sayfası
Şekil 3. Kontrol Sayfası

MCT kontrolleri sayfasının üst kısmında, Arama, URI, Medya kimliği veya Yok'u seçebileceğiniz bir açılır menü ve bu seçeneklerden birini belirlerseniz Arama, URI veya Medya Kimliği ile ilişkili giriş verilerini belirtmek için bir metin alanı bulunur.

Metin alanının hemen altındaki Hazırla ve Oynat düğmeleri, seçtiğiniz işleme bağlı olarak uygun çağrıları (onPrepare(), onPrepareFromSearch(), onPrepareFromUri(), onPrepareFromMediaId(), onPlay(), onPlayFromSearch(), onPlayFromUri(), onPlayFromMediaId()) gerçekleştirir.

Ses odağı test ediliyor

İyi çalışan bir medya uygulaması ses odağını işleyebilmelidir. Uygulamanızla birlikte başka bir ses uygulaması çalıştırarak ses odağını test edebilirsiniz. MCT kontrolleri sayfası, ses odağını isteyen ve serbest bırakan bir düğme içerir.

Ses odağını test etmek için aşağıdaki adımları uygulayın:

  1. Üç süre ipucundan birini AUDIOFOCUS_GAIN, AUDIOFOCUS_GAIN_TRANSIENT veya AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK seçmek için Ses Odağı açılır menüsünü kullanın.
  2. Odaklanma isteğinde bulunmak için düğmeye basın.
  3. Odağı bırakmak için düğmeye tekrar basın.

Taşıma denetimlerini test etme

Aktarım Denetimlerini Test Etme
Şekil 4. Aktarım Denetimlerini Test Etme

MCT'nin kullanıcı arayüzü görünümünü görüntülemek için sola kaydırın. Bu görünümde standart medya denetleyicisi aktarım düğmeleri bulunur ve oturumun program resmi ve verileri gösterilir. Devre dışı bırakılan taşıma düğmeleri turuncu renkle daire içine alınır. Diğer tüm öğeler etkin.

Aktarım düğmelerini kullanarak oynatıcınızı test edin. Aktarım düğmelerinin durumu beklendiği gibi değişmelidir. Örneğin, OYNAT düğmesine bastığınızda bu düğme devre dışı olur ve DURAKLAT ile DURDUR düğmeleri etkin hale gelir.

İsteğe bağlı işlemlerin görüntülendiği görünüm için tekrar sola kaydırın. Her işlemin, etkin olup olmadığını gösteren bir kontrolü vardır. Etkinse üzerine tıklayarak işlemi gerçekleştirebilirsiniz.

Medya tarayıcı hizmeti sunan uygulamalar listesinden bağlandıysanız uygulamanızın içerik hiyerarşisinde yukarı ve aşağı ilerlemenize olanak tanıyan görünümler için iki kez daha sola kaydırabilir veya içerik ağacında arama yapabilirsiniz.

Video uygulamalarını manuel olarak test etme

Video uygulama denetleyicilerini test etmek için bölünmüş ekran modunu kullanın. Önce video uygulamanızı bir pencerede açın, ardından MCT'yi bölünmüş ekran modunda açın.

Doğrulama testleri çalıştırma

Doğrulama test çerçevesi, medya uygulamanızın oynatma isteğine doğru şekilde yanıt verdiğinden emin olmak için çalıştırabileceğiniz tek tıklamayla testler sunar.

Telefon uygulamasını test etme

Test Düğmesi
Şekil 5. Test Düğmesi

Doğrulama testlerine erişmek için medya uygulamanızın yanındaki Test et düğmesini tıklayın.

MCT durumu

Medya Kontrol Durumu
Şekil 6. Medya Kontrol Durumu

Sonraki görünümde MCT'nin MediaController öğeleri hakkında ayrıntılı bilgiler (ör. PlaybackState, meta veriler ve sıra) gösterilir. Araç çubuğunun sağ üst tarafında iki düğme var. Soldaki düğme, ayrıştırılabilir ve biçimlendirilmiş günlükler arasında geçiş yapar. Sağdaki düğme, görünümü yenileyerek en güncel bilgileri gösterir.

Test seçme

Test Seçimi Sayfası
Şekil 7. Test Seçimi Sayfası

Sola hızlıca kaydırdığınızda doğrulama testleri görünümüne ulaşırsınız. Burada, mevcut testlerin kaydırılabilir bir listesini görebilirsiniz. Bir test, Şekil 7'de gösterilen arama testinden oynatma gibi bir sorgu kullanıyorsa sorgu dizesini gireceğiniz bir metin alanı olur.

MCT, aşağıdaki medya işlemleri için testler içerir ve projeye sürekli olarak daha fazla test eklenir:

  • Oynat
  • Arama'dan oynat
  • Medya Kimliğinden Oynat
  • URI'dan Oynat
  • Duraklat
  • Durdur
  • Sonrakine Atla
  • Öncekine Atla
  • Sıra Öğesine Atla
  • Şuraya sar:

Test sonuçları

Başarılı Test Sonucu
Şekil 8. Başarılı Test Sonucu

Görünümün alt kısmındaki sonuçlar alanı başlangıçta boştur. Bir testi çalıştırdığınızda sonuçlar gösterilir. Örneğin, arama testinden oynatmayı çalıştırmak için metin alanına bir arama sorgusu girin ve Testi Çalıştır'ı tıklayın. Aşağıdaki ekran görüntüsünde bir test sonucu gösterilmektedir.

Android TV uygulamasını test etme

MCT'yi Android TV'de başlattığınızda, yüklü medya uygulamalarının bir listesini görürsünüz. Bir uygulamanın, yalnızca medya tarayıcı hizmeti uyguladığında bu listede görüneceğini unutmayın.

TV'de MCT Lansman Sayfası

Şekil 9. TV'de MCT Lansman Sayfası

Uygulama seçildiğinde sağda doğrulama testlerinin listesinin görüntülendiği test ekranına yönlendirilirsiniz.

TV'deki Doğrulama Testleri Sayfası

Şekil 10. TV'deki Doğrulama Testleri sayfası

Bir test çalıştırdığınızda, ekranın sol tarafında seçilen MediaController hakkında bilgiler görüntülenir. Daha fazla ayrıntı için Logcat'teki MCT günlüklerini kontrol edin.

TV'deki Test Bilgileri Sayfası

Şekil 11. TV'deki Test Bilgileri Sayfası

Sorgu gerektiren testler klavye simgesiyle işaretlenir. Bu testlerden birini tıkladığınızda sorgu için bir giriş alanı açılır. Testi çalıştırmak için Enter'ı tıklayın.

Metin girişini kolaylaştırmak için adb komutu da kullanabilirsiniz:

adb shell input text your-query

Kelimeler arasına boşluk eklemek için "%s" kullanabilirsiniz. Örneğin, aşağıdaki komut giriş alanına "merhaba dünya" metnini ekler.

adb shell input text hello%sworld

Test oluşturma

Yararlı olduğunu düşündüğünüz daha fazla test içeren bir pull isteği gönderebilirsiniz. Yeni testlerin nasıl oluşturulacağını öğrenmek için MCT GitHub Wiki adresini ziyaret edin ve doğrulama testi talimatlarını inceleyin.

Lütfen katkıda bulunma talimatlarını inceleyin.

Ek kaynaklar

MCT, medya API'lerini uygulayan uygulamalarla birlikte kullanılmalıdır. Bu tür bir uygulama örneği için Universal Android Music Player'a bakın.

Hata düzeltmelerine ve iyileştirmelere her zaman açığız. Lütfen katkıda bulunma talimatlarını inceleyin.