Compose'daki kullanıcı arayüzü testleri, kullanıcı arayüzü hiyerarşisiyle etkileşim kurmak için semantik kullanır. Adından da anlaşılacağı gibi anlamsal yapı, bir kullanıcı arayüzü parçasına anlam verir. Bu bağlamda, "kullanıcı arayüzü parçası" (veya öğe), tek bir composable'dan tam ekrana kadar her şeyi ifade edebilir. Anlamsal yapı ağacı, kullanıcı arayüzü hiyerarşisiyle birlikte oluşturulur ve hiyerarşiyi açıklar.
Genel olarak anlamsal yapı hakkında daha fazla bilgiyi Compose'da Anlamsal Yapı başlıklı makalede bulabilirsiniz.
Şekil 1. Tipik bir kullanıcı arayüzü hiyerarşisi ve bunun anlamsal yapısı.
Semantik çerçeve öncelikli olarak erişilebilirlik için kullanılır. Bu nedenle testlerde, semantik tarafından kullanıcı arayüzü hiyerarşisi hakkında sunulan bilgilerden yararlanılır. Nelerin ve ne kadarının gösterileceğine geliştiriciler karar verir.
Şekil 2. Simge ve metin içeren normal bir düğme.
Örneğin, simge ve metin öğesinden oluşan aşağıdaki gibi bir düğme verildiğinde varsayılan anlamsal yapı ağacı yalnızca "Beğen" metin etiketini içerir. Bunun nedeni, Text gibi bazı composable'ların bazı özellikleri anlamsal yapı ağacına zaten sunmasıdır. Modifier kullanarak anlamsal yapı ağacına özellikler ekleyebilirsiniz.
MyButton(
modifier = Modifier.semantics { contentDescription = "Add to favorites" }
)
Ek Kaynaklar
- Android'de uygulamaları test etme: Android testleriyle ilgili ana açılış sayfası, testlerle ilgili temel bilgiler ve teknikler hakkında daha geniş bir bakış açısı sunar.
- Testin temelleri: Android uygulaması test etmenin temel kavramları hakkında daha fazla bilgi edinin.
- Yerel testler: Bazı testleri kendi iş istasyonunuzda yerel olarak çalıştırabilirsiniz.
- Araçlı testler: Araçlı testler de çalıştırmak iyi bir uygulamadır. Yani doğrudan cihaz üzerinde çalışan testler.
- Sürekli entegrasyon: Sürekli entegrasyon, testlerinizi dağıtım ardışık düzeninize entegre etmenize olanak tanır.
- Farklı ekran boyutlarını test edin: Kullanıcıların erişebileceği çok sayıda cihaz olduğundan farklı ekran boyutlarını test etmeniz gerekir.
- Espresso: Görüntüleme tabanlı kullanıcı arayüzleri için tasarlanmış olsa da Espresso bilgisi, Compose testinin bazı yönlerinde faydalı olabilir.