Anlambilim
Koleksiyonlar ile düzeninizi koruyun
İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.
Compose'daki kullanıcı arayüzü testleri, kullanıcı arayüzü hiyerarşisiyle etkileşim kurmak için anlamları kullanır.
Adından da anlaşılacağı gibi semantik, bir kullanıcı arayüzü parçasına anlam katar. Bu bağlamda, "kullanıcı arayüzü parçası" (veya öğe), tek bir composable'dan tam ekrana kadar her şeyi ifade edebilir. Semantik ağaç, kullanıcı arayüzü hiyerarşisiyle birlikte oluşturulur ve hiyerarşiyi açıklar.
Anlambilim hakkında daha fazla bilgiyi Compose'da Anlambilim başlıklı makalede bulabilirsiniz.
1.şekil Tipik bir kullanıcı arayüzü hiyerarşisi ve bunun semantik ağacı.
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.
Geliştiriciler, ne kadar ve hangi verilerin gösterileceğine 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 anlam ağacı yalnızca "Beğen" metin etiketini içerir. Bunun nedeni, Text
gibi bazı composable'ların bazı özellikleri semantik ağacına zaten sunuyor olmasıdır. Modifier
kullanarak semantik ağacına özellikler ekleyebilirsiniz.
MyButton(
modifier = Modifier.semantics { contentDescription = "Add to favorites" }
)
Ek Kaynaklar
- Android'de uygulamaları test etme: Android'de testlerle 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 cihazda ç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.
Bu sayfadaki içerik ve kod örnekleri, İçerik Lisansı sayfasında açıklanan lisanslara tabidir. Java ve OpenJDK, Oracle ve/veya satış ortaklarının tescilli ticari markasıdır.
Son güncelleme tarihi: 2025-08-27 UTC.
[[["Anlaması kolay","easyToUnderstand","thumb-up"],["Sorunumu çözdü","solvedMyProblem","thumb-up"],["Diğer","otherUp","thumb-up"]],[["İhtiyacım olan bilgiler yok","missingTheInformationINeed","thumb-down"],["Çok karmaşık / çok fazla adım var","tooComplicatedTooManySteps","thumb-down"],["Güncel değil","outOfDate","thumb-down"],["Çeviri sorunu","translationIssue","thumb-down"],["Örnek veya kod sorunu","samplesCodeIssue","thumb-down"],["Diğer","otherDown","thumb-down"]],["Son güncelleme tarihi: 2025-08-27 UTC."],[],[],null,["# Semantics\n\nUI tests in Compose use *semantics* to interact with the UI hierarchy.\nSemantics, as the name implies, give meaning to a piece of UI. In this context,\na \"piece of UI\" (or element) can mean anything from a single composable to a\nfull screen. The *semantics tree* is generated alongside the UI hierarchy and\ndescribes the hierarchy.\n\nYou can learn more about semantics generally in [Semantics in Compose](/develop/ui/compose/accessibility/semantics).\n\n**Figure 1.** A typical UI hierarchy and its semantics tree.\n\nThe semantics framework is primarily used for accessibility, so tests take\nadvantage of the information exposed by semantics about the UI hierarchy.\nDevelopers decide what and how much to expose.\n\n**Figure 2.** A typical button containing an icon and text.\n\nFor example, given a button like this that consists of an icon and a text\nelement, the default semantics tree only contains the text label \"Like\". This is\nbecause some composables, such as `Text`, already expose some properties to the\nsemantics tree. You can add properties to the semantics tree by using a\n`Modifier`. \n\n MyButton(\n modifier = Modifier.semantics { contentDescription = \"Add to favorites\" }\n )\n\nAdditional Resources\n--------------------\n\n- **[Test apps on Android](/training/testing)**: The main Android testing landing page provides a broader view of testing fundamentals and techniques.\n- **[Fundamentals of testing](/training/testing/fundamentals):** Learn more about the core concepts behind testing an Android app.\n- **[Local tests](/training/testing/local-tests):** You can run some tests locally, on your own workstation.\n- **[Instrumented tests](/training/testing/instrumented-tests):** It is good practice to also run instrumented tests. That is, tests that run directly on-device.\n- **[Continuous integration](/training/testing/continuous-integration):** Continuous integration lets you integrate your tests into your deployment pipeline.\n- **[Test different screen sizes](/training/testing/different-screens):** With some many devices available to users, you should test for different screen sizes.\n- **[Espresso](/training/testing/espresso)**: While intended for View-based UIs, Espresso knowledge can still be helpful for some aspects of Compose testing."]]