Kiểm thử hành vi trên giao diện người dùng
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.
Kiểm thử hành vi trên giao diện người dùng là các kiểm thử phân tích hệ phân cấp giao diện người dùng để đưa ra các câu nhận định về các thuộc tính của thành phần trên giao diện người dùng.
Khung Jetpack
Jetpack bao gồm nhiều khung cung cấp API để viết mã kiểm thử giao diện người dùng:
- Khung kiểm thử Espresso (Android 4.0.1, API cấp 14 trở lên) cung cấp các API để viết kiểm thử giao diện người dùng nhằm mô phỏng hoạt động tương tác của người dùng với Khung hiển thị trong một ứng dụng mục tiêu. Lợi ích chính của việc sử dụng Espresso là cung cấp tính năng đồng bộ hoá tự động các thao tác kiểm thử với giao diện người dùng của ứng dụng mà bạn đang kiểm thử. Espresso phát hiện thời điểm luồng chính ở trạng thái rảnh, nhờ đó có thể chạy các lệnh kiểm thử của bạn vào thời điểm thích hợp, cải thiện độ tin cậy của các kiểm thử.
- Jetpack Compose (Android 5.0, API cấp 21 trở lên) cung cấp một bộ API kiểm thử để khởi chạy và tương tác với các màn hình và thành phần Compose. Các hoạt động tương tác với phần tử Compose được đồng bộ hoá với các bài kiểm thử và có toàn quyền kiểm soát về thời gian, ảnh động và quá trình kết hợp lại.
- Trình tự động hoá giao diện người dùng (Android 4.3, API cấp 18 trở lên) là một khung kiểm thử giao diện người dùng phù hợp để kiểm thử chức năng trên giao diện người dùng của nhiều ứng dụng trên hệ thống và các ứng dụng đã cài đặt. API Tự động hoá giao diện người dùng cho phép bạn thực hiện các thao tác như mở trình đơn Cài đặt hoặc trình chạy ứng dụng trên thiết bị thử nghiệm.
- Robolectric (Android 4.1, API cấp 16 trở lên) cho phép bạn tạo các chương trình kiểm thử cục bộ chạy trên máy trạm hoặc môi trường tích hợp liên tục trong một máy ảo Java thông thường, thay vì trên trình mô phỏng hoặc thiết bị. Thư viện này có thể sử dụng Espresso hoặc API kiểm thử Compose để tương tác với các thành phần trên giao diện người dùng.
Tài nguyên khác
Để biết thêm thông tin về cách tạo các bài kiểm thử giao diện người dùng, hãy tham khảo các tài nguyên sau.
Tài liệu
Lớp học lập trình
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-07-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-07-27 UTC."],[],[],null,["# Behavior UI Tests\n\nBehavior UI tests are tests that analyze the UI hierarchy to make assertions\non the properties of the UI elements.\n\nJetpack frameworks\n------------------\n\nJetpack includes various frameworks that provide APIs for writing UI tests:\n\n- The **[Espresso testing framework](/training/testing/espresso)** (Android 4.0.1, API level 14 or higher) provides APIs for writing UI tests to simulate user interactions with *Views* within a single target app. A key benefit of using Espresso is that it provides automatic synchronization of test actions with the UI of the app you are testing. Espresso detects when the main thread is idle, so it is able to run your test commands at the appropriate time, improving the reliability of your tests.\n- **[Jetpack Compose](/jetpack/compose)** (Android 5.0, API level 21 or higher) provides a set of [*testing APIs*](/jetpack/compose/testing) to launch and interact with Compose screens and components. Interactions with Compose elements are synchronized with tests and have complete control over time, animations and recompositions.\n- **[UI Automator](/training/testing/ui-automator)** (Android 4.3, API level 18 or higher) is a UI testing framework suitable for cross-app functional UI testing across system and installed apps. The UI Automator APIs allows you to perform operations such as opening the Settings menu or the app launcher on a test device.\n- **[Robolectric](/training/testing/local-tests/robolectric)** (Android 4.1, API level 16 or higher) lets you create *local* tests that run on your workstation or continuous integration environment in a regular JVM, instead of on an emulator or device. It can use Espresso or Compose testing APIs to interact with UI components.\n\nAdditional resources\n--------------------\n\nFor more information about creating UI tests, consult the following resources.\n\n### Documentation\n\n- [Build instrumented tests](/training/testing/instrumented-tests)\n- [Espresso](/training/testing/espresso)\n- [Compose Testing](/jetpack/compose/testing)\n\n### Codelabs\n\n- [Introduction to Test Doubles and Dependency Injection](/codelabs/advanced-android-kotlin-training-testing-test-doubles)"]]