Ngữ nghĩa
Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang
Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
Các quy trình kiểm thử giao diện người dùng trong Compose sử dụng ngữ nghĩa để tương tác với hệ phân cấp giao diện người dùng.
Ngữ nghĩa (Semantics), cũng như ngụ ý trong tên gọi, cung cấp ý nghĩa cho một phần của giao diện người dùng. Ở đây, một "phần của giao diện người dùng" (hoặc phần tử) có thể có nghĩa là bất kỳ thành phần nào, từ một thành phần kết hợp đơn lẻ cho đến toàn bộ màn hình. Cây ngữ nghĩa được tạo cùng với hệ phân cấp giao diện người dùng và mô tả hệ phân cấp này.
Bạn có thể tìm hiểu thêm về ngữ nghĩa nói chung trong phần Ngữ nghĩa trong Compose.
Hình 1. Một hệ phân cấp giao diện người dùng điển hình và cây ngữ nghĩa.
Khung ngữ nghĩa (semantics framework) chủ yếu được dùng để hỗ trợ tiếp cận. Vì vậy, các quy trình kiểm thử sẽ tận dụng những thông tin về hệ phân cấp giao diện người dùng được ngữ nghĩa hiển thị.
Các nhà phát triển là người quyết định nội dung và mức độ được hiển thị.
Hình 2. Một nút nhấn thông thường chứa biểu tượng và văn bản.
Chẳng hạn, đối với một nút nhấn như trên bao gồm một biểu tượng và một thành phần văn bản, cây ngữ nghĩa mặc định chỉ chứa nhãn văn bản "Like" (Thích). Điều này là do một số thành phần kết hợp, chẳng hạn như Text
, đã hiển thị một số thuộc tính cho cây ngữ nghĩa. Bạn có thể thêm các thuộc tính vào cây ngữ nghĩa bằng cách sử dụng Modifier
.
MyButton(
modifier = Modifier.semantics { contentDescription = "Add to favorites" }
)
Tài nguyên khác
- Kiểm thử ứng dụng trên Android: Trang đích chính về kiểm thử trên Android
cung cấp thông tin tổng quan về các nguyên tắc cơ bản và kỹ thuật kiểm thử.
- Nguyên tắc cơ bản về kiểm thử: Tìm hiểu thêm
về các khái niệm cốt lõi đằng sau việc kiểm thử một ứng dụng Android.
- Kiểm thử cục bộ: Bạn có thể chạy một số bài kiểm thử
cục bộ trên máy trạm của riêng mình.
- Kiểm thử đo lường: Bạn cũng nên
chạy kiểm thử đo lường. Tức là các kiểm thử chạy trực tiếp
trên thiết bị.
- Tích hợp liên tục:
Tích hợp liên tục cho phép bạn tích hợp các kiểm thử vào quy trình triển khai.
- Kiểm thử nhiều kích thước màn hình: Vì người dùng có thể sử dụng nhiều thiết bị, nên bạn cần kiểm thử đối với nhiều kích thước màn hình.
- Espresso: Mặc dù được thiết kế cho giao diện người dùng dựa trên Khung hiển thị, nhưng kiến thức về Espresso vẫn có thể hữu ích cho một số khía cạnh của hoạt động kiểm thử trong Compose.
Nội dung và mã mẫu trên trang này phải tuân thủ các giấy phép như mô tả trong phần Giấy phép nội dung. Java và OpenJDK là nhãn hiệu hoặc nhãn hiệu đã đăng ký của Oracle và/hoặc đơn vị liên kết của Oracle.
Cập nhật lần gần đây nhất: 2025-08-27 UTC.
[[["Dễ hiểu","easyToUnderstand","thumb-up"],["Giúp tôi giải quyết được vấn đề","solvedMyProblem","thumb-up"],["Khác","otherUp","thumb-up"]],[["Thiếu thông tin tôi cần","missingTheInformationINeed","thumb-down"],["Quá phức tạp/quá nhiều bước","tooComplicatedTooManySteps","thumb-down"],["Đã lỗi thời","outOfDate","thumb-down"],["Vấn đề về bản dịch","translationIssue","thumb-down"],["Vấn đề về mẫu/mã","samplesCodeIssue","thumb-down"],["Khác","otherDown","thumb-down"]],["Cập nhật lần gần đây nhất: 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."]]