Hazır Uygulamalar için CTS

Hazır Uygulamalar 10'un önemli bir özelliğidir, dolayısıyla düzgün çalışmaları çok önemlidir. Hazır Uygulamalar örtülü olarak yüklendiğinden, kısıtlı yeteneklere sahiptirler ve daha kısıtlayıcı bir güvenlik sanal alanında çalışırlar. Bu kısıtlamaların yaygın doğası nedeniyle sistemin herhangi bir parçası, Hazır Uygulamalarla düzgün çalışmama riski altındadır. Hazır Uygulamalar tarafından izin verilen davranışların çalıştığından emin olmak için bir CTS test alt kümesi oluşturulur. Ana fikir, minimum test kümesini bağlantı noktasına yalıtarak CTS'nin boyut büyümesini en aza indirmektir. Hazır Uygulamalar modunda çalışan CTS, test APK'sının Hazır Uygulama olarak yüklenmesi ve testlerin çalıştırılması anlamına gelir.

Hazır Uygulama kısıtlamaları

Hazır Uygulamalar kullanıcı tarafından yüklenmediğinden, aşağıdaki kısıtlamalarla kısıtlı bir sanal alanda çalışırlar:

  • Yalnızca belirli izinlere sahip olabilir.
  • Bu uygulamalar Hazır Uygulamalar tarafından görünür olarak işaretlenmediği sürece diğer uygulamaları göremiyorum.
  • Yalnızca belirli sistem ayarlarına erişebilir.
  • Yalnızca belirli sistem özelliklerine erişebilir.
  • Hizmetler/sağlayıcılar açığa çıkarılamıyor.
  • Yayınlara özel kurallarla alım ve gönderim yapılabilir.

Ek olarak, Hazır Uygulamaların yeni güvenlik sanal alanının daha fazla kısıtlama eklemesine izin vermesi gerekir. Hazır Uygulamalarla ilgili bu geniş yelpazedeki özel davranışlar tüm platformu kesmektedir; bu nedenle, Hazır Uygulamaların ekosistemdeki tüm cihazlar için beklendiği gibi çalıştığını doğrulamanın bir yolu olması gerekir.

Hazır Uygulamalar modunda çalışan testler

Tüm CTS modüllerinde Hazır Uygulamalar için geçerli testler yoktur. Modül tarafından test edilen işlevsellik sistem sunucusuyla etkileşime giriyorsa bu testlerin Instant Apps modunda çalıştırılması gerekir. Örneğin, OpenGL testleri sistem sunucusuyla etkileşime girmez ve dolayısıyla erişilebilirlik testleri sistem sunucusuyla etkileşime girerken bunları Anlık Uygulamalar modunda çalıştırmaya gerek yoktur ancak bunları Anlık Uygulamalar modunda çalıştırmaya ihtiyaç vardır.

Hangi modüllerin uygulanabilir olduğunu belirlemenin yanı sıra, kullanıcıların bu modüllerdeki hangi testlerin ilgili olduğunu da belirlemesi gerekir. Örneğin, takılabilir bir mimari için (örneğin, AccessibilityService) hizmete özgü davranışların test edilmesi, Hazır Uygulama modu için geçerli değildir; çünkü Hazır Uygulamalar, hizmetleri diğer uygulamalara (platform dahil) gösteremezken, uygulama tarafı davranışlarını doğrulayan testler Hazır Uygulamalar modu için geçerlidir. Başka bir örnek, bir Hazır Uygulamanın tutamadığı bir iznin ardındaki davranışların Hazır Uygulama modunda alakalı olmadığını doğrulayan bir testtir. Yalnızca Hazır Uygulamalar için geçerli olan ve bunların nasıl davrandığına ilişkin kuralları (örneğin, hizmetleri açığa çıkarmama veya diğer uygulamaları görmeme) doğrulayan bir dizi test vardır. Genellikle bunlar zaten yazılmıştır ve taşıma gerektirmezler.

Hazır Uygulamalar modundaki test hataları

Test, Hazır Uygulamaların erişemediği işlevleri doğruladığı için başarısız oluyorsa, Hazır Uygulamalar modunda geçerli değildir. @AppModeFull ile açıklama ekleyerek testi yalnızca Tam Uygulama modunda çalışacak şekilde işaretleyin. Bu ek açıklamayı, içindeki tüm testleri hariç tutmak için sınıf düzeyine uygulayabilirsiniz.

Hazır Uygulamaların erişebildiği bazı işlevler bozulduğu için test başarısız olursa bir hata bildirin .

Sorun giderme

Testiniz DEVICE cihazına MyCtsModule.apk yüklenemedi ile başarısız olursa. Sebep: '-116' , logcat'ta PackageManager mesajlarını arayın. Örneğin, Tam Uygulama, Hazır Uygulama ile değiştirilemiyor: your_app yazıyorsa, önce uygulamanızı kaldırın.