Kiểm thử giao diện người dùng của ứng dụng để xác minh hành vi của mã Compose là chính xác. Nhờ đó, bạn có thể phát hiện sớm lỗi và cải thiện chất lượng ứng dụng.
Compose cung cấp một bộ API kiểm thử để tìm phần tử, xác minh thuộc tính của các phần tử đó và thực hiện các thao tác của người dùng. Các API này cũng bao gồm các tính năng nâng cao như thao tác với thời gian. Sử dụng các API này để tạo các chương trình kiểm thử mạnh mẽ nhằm xác minh hành vi của ứng dụng.
Số lượt xem
Nếu bạn đang làm việc với các thành phần hiển thị thay vì Compose, hãy xem phần Kiểm thử ứng dụng trên Android chung.
Đặc biệt, bạn nên bắt đầu tham khảo hướng dẫn Tự động hoá quy trình kiểm thử giao diện người dùng. Tài liệu này trình bày cách bạn có thể tự động hoá các chương trình kiểm thử chạy trên thiết bị, bao gồm cả khi sử dụng các thành phần hiển thị.
Khái niệm chính
Sau đây là một số khái niệm chính để kiểm thử mã Compose.
- Ngữ nghĩa: Kiểm thử Compose tương tác với giao diện người dùng bằng cách sử dụng ngữ nghĩa, cung cấp ý nghĩa cho các phần của giao diện người dùng và được tạo cùng với hệ phân cấp giao diện người dùng.
- API Kiểm thử: Compose cung cấp các API kiểm thử để tìm kiếm phần tử, đưa ra nhận định về trạng thái và thuộc tính của các phần tử đó, cũng như thực hiện các thao tác để mô phỏng hoạt động tương tác của người dùng.
- Đồng bộ hoá: Theo mặc định, các quy trình kiểm thử Compose sẽ tự động đồng bộ hoá với giao diện người dùng, chờ cho giao diện người dùng ở trạng thái rảnh trước khi đưa ra câu nhận định hoặc thực hiện hành động.
- Khả năng tương tác: Trong ứng dụng kết hợp, các chương trình kiểm thử có thể tương tác liền mạch với cả các phần tử dựa trên Khung hiển thị và Compose, đồng thời tích hợp với các khung kiểm thử khác.
Bản tóm tắt về kiểm thử
Hãy xem bảng tóm tắt về kiểm thử để biết thông tin tổng quan về tất cả các chủ đề chính mà bạn nên tìm hiểu về kiểm thử trong Compose.
Thiết lập
Thiết lập ứng dụng để kiểm thử mã Compose.
Trước tiên, hãy thêm các phần phụ thuộc sau vào tệp build.gradle
của mô-đun
chứa các quy trình kiểm thử giao diện người dùng của bạn:
// Test rules and transitive dependencies:
androidTestImplementation("androidx.compose.ui:ui-test-junit4:$compose_version")
// Needed for createComposeRule(), but not for createAndroidComposeRule<YourActivity>():
debugImplementation("androidx.compose.ui:ui-test-manifest:$compose_version")
Mô-đun này bao gồm ComposeTestRule
và một quy trình triển khai cho Android có tên là AndroidComposeTestRule
. Thông qua quy tắc này, bạn có thể thiết lập nội dung Compose
hoặc truy cập vào hoạt động. Bạn tạo các quy tắc bằng cách sử dụng các hàm nhà máy, createComposeRule
hoặc nếu bạn cần truy cập vào một hoạt động, createAndroidComposeRule
. Quy trình kiểm thử giao diện người dùng điển hình của Compose có dạng như sau:
// file: app/src/androidTest/java/com/package/MyComposeTest.kt
class MyComposeTest {
@get:Rule val composeTestRule = createComposeRule()
// use createAndroidComposeRule<YourActivity>() if you need access to
// an activity
@Test
fun myTest() {
// Start the app
composeTestRule.setContent {
MyAppTheme {
MainScreen(uiState = fakeUiState, /*...*/)
}
}
composeTestRule.onNodeWithText("Continue").performClick()
composeTestRule.onNodeWithText("Welcome").assertIsDisplayed()
}
}
Tài nguyên khác
- Kiểm thử ứng dụng trên Android: Trang đích chính về kiểm thử Android cung cấp thông tin tổng quan hơn về các nguyên tắc 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 chính của việc kiểm thử ứng dụng Android.
- Kiểm thử cục bộ: Bạn có thể chạy một số 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 các chương trình 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 chương trình 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ới nhiều thiết bị được cung cấp cho người dùng, bạn nên kiểm thử nhiều kích thước màn hình.
- Espresso: Mặc dù dành 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ử Compose.
Lớp học lập trình
Để tìm hiểu thêm, hãy thử tham khảo lớp học lập trình Kiểm thử Jetpack Compose.
Mẫu
Mir 2: Return of the King là một trò chơi di động chất lượng cao thuộc IP Legend do Actoz Soft uỷ quyền và do HK ZHILI YAOAN LIMITED phát triển bằng công cụ phát triển trò chơi Unity. Trò chơi này không chỉ tái hiện hoàn hảo cảm giác của Mir 2, một Wuthering Waves là một trò chơi nhập vai hành động có độ chân thực cao do Kuro Games phát triển.
Việc tối ưu hoá mức tiêu thụ điện năng rất quan trọng để mang lại trải nghiệm người dùng cao cấp một cách bền vững trong các phiên chơi trò chơi dài. Godot Engine là một công cụ phát triển trò chơi nguồn mở đa nền tảng phổ biến, hỗ trợ mạnh mẽ cho Android. Bạn có thể dùng Godot để tạo trò chơi thuộc hầu hết mọi thể loại và có thể tạo cả đồ hoạ 2D và 3D. Godot phiên bản 4 đã ra mắt một hệ thống kết Khung hiệu suất động Android (ADPF) là một công cụ mạnh mẽ của Google dành cho những nhà phát triển muốn tối ưu hoá hiệu suất của ứng dụng. Thông qua các API nhiệt, ADPF cung cấp thông tin theo thời gian thực về trạng thái nhiệt của thiết bị. Sau đó, NCSoft Lineage W là một trò chơi nhập vai trực tuyến siêu nhiều người chơi (MMORPG) do NCSoft phát triển. Trò chơi này kế thừa di sản của trò chơi Lineage W
gốc và mang đến một môi trường mà người chơi trên khắp thế giới có thể hợp tác
và cạnh tranh Việc cải thiện hiệu suất và quản lý nhiệt là điều cần thiết để phát triển trò chơi thành công trên Android. Theo truyền thống, nhà phát triển phải quản lý những vấn đề này bằng cách giảm độ trung thực của trò chơi hoặc tối ưu hoá trình kết xuất hơn Call of Duty: Warzone Mobile là một trò chơi hành động góc nhìn thứ nhất thuộc thương hiệu Call of Duty nổi tiếng. Phiên bản trò chơi dành cho máy chơi trò chơi và máy tính phổ biến trên thiết bị di động tận dụng các API cấp thấp dành cho thiết bị di Summoners War: Chronicles là một trò chơi MMORPG dành cho thiết bị di động của nhà phát triển trò chơi Com2uS ở Hàn Quốc, phát hành trên toàn cầu vào tháng 3 năm 2023. Tính đến thời điểm hiện tại, Summoners War đã kiếm được hơn 2,7 tỷ USD với hơn 180 Summoners War: Chronicles US(WW) và KR của Com2uS sử dụng độc quyền Vulkan để kết xuất hình ảnh trên Android, giúp cải thiện hiệu suất lên đến 30%. Vulkan là một API đồ hoạ 3D hiện đại, đa nền tảng, được thiết kế để giảm thiểu sự trừu tượng giữa phần Ares: Rise of Guardians là một trò chơi nhập vai trực tuyến nhiều người chơi (MMORPG) thuộc thể loại khoa học viễn tưởng dành cho thiết bị di động và máy tính do Second Dive phát triển. Đây là một studio trò chơi có trụ sở tại Hàn Quốc, nổi tiếng với Cat Daddy Games là một công ty do 2K sở hữu hoàn toàn, có trụ sở tại Kirkland, Washington và là nhà phát triển của NBA 2K Mobile.
Nhóm nghiên cứu muốn cải thiện chất lượng và độ ổn định tổng thể của trò chơi, cụ thể là bằng cách giảm lỗi "Ứng dụng Devsisters là nhà phát triển và nhà phát hành trò chơi dành cho thiết bị di động trên toàn cầu, sản xuất các trò chơi phổ thông dựa trên IP của Cookie Run. Các trò chơi phổ biến nhất của họ bao gồm Cookie Run: OvenBreak (trò chơi chạy theo phong cách NEW STATE Mobile là một trò chơi battle royale của Krafton, ra mắt trên toàn thế giới vào tháng 11 năm 2021 và đạt hơn 45 triệu lượt tải xuống trong tháng đầu tiên ra mắt. KRAFTON, Inc. là một tập hợp các hãng phát triển trò chơi độc lập, được thành Có trụ sở tại Ba Lan, Spokko là một nhóm nhà sáng tạo đầy tham vọng đang làm việc với một tài sản trí tuệ rất khắt khe. Mặc dù thuộc gia đình CD PROJEKT, nhưng Spokko là một công ty độc lập đã chuyển thế giới tuyệt vời của The Witcher: Monster Slayer Cat Daddy Games là một công ty do 2K sở hữu hoàn toàn, có trụ sở tại Kirkland, Washington. Các nhóm phụ trách chuỗi trò chơi NBA 2K Mobile, NBA SuperCard và WWE SuperCard từng tìm kiếm một giải pháp để cải thiện chất lượng tổng thể của các trò chơi Unreal Engine là một công cụ phát triển trò chơi do Epic Games phát triển, giúp nhà sáng tạo trên nhiều ngành có được quyền tự do và quyền kiểm soát để mang đến nội dung giải trí tiên tiến, hình ảnh trực quan hấp dẫn và thế giới ảo sống động. Một số Electronic Arts (EA) là một công ty trò chơi có trụ sở tại California, Hoa Kỳ. Công cụ này tạo ra nhiều trò chơi thuộc nhiều thể loại, chẳng hạn như: thể thao, hành động, đua xe và mô phỏng. Firemonkeys, xưởng phát triển của EA, được biết đến nhiều Đặt trụ sở tại Warsaw, Ba Lan, nhà phát triển trò chơi CD Projekt RED (CDPR) đã tái định hình trò chơi nhỏ của họ trong The Witcher 3, GWENT: The Witcher Card Game, để ra mắt dưới dạng một trò chơi độc lập miễn phí trên Google Play vào tháng 3 năm Tới nay, nhà phát triển RV AppStudios (trụ sở tại Hoa Kỳ) đã có hơn 200 triệu lượt tải xuống trên các danh mục trò chơi phổ thông, ứng dụng giáo dục cho trẻ em và ứng dụng tiện ích. Là một trong những người thử nghiệm sớm Play Asset Delivery với ứng Năm 2000, Gameloft được tạo ra dựa trên niềm đam mê với các trò chơi và mong muốn đưa các trò chơi đó đến với mọi người trên khắp thế giới. Họ là một trong những nhà phát triển tiên phong trong lĩnh vực phát triển trò chơi dành cho thiết bị di động Trong hơn 20 năm qua, Gameloft đã tạo ra trải nghiệm chơi game sáng tạo cho các nền tảng kỹ thuật số, từ trò chơi dành cho thiết bị di động đến các tựa game trên máy tính và máy chơi trò chơi trên nhiều nền tảng. Ngoài các thương hiệu đã thành lập Pixonic,
một nhóm nhà phát triển trò chơi điện tử có trụ sở tại Moscow, tự hào
tìm kiếm mọi cơ hội để nâng cấp các ứng dụng dành cho thiết bị di động của mình và tiếp cận rộng lớn hơn nữa
độc giả là người chơi. Một trong những trò chơi nổi tiếng nhất Gameloft luôn nỗ lực để trở thành một trong những nhà phát triển đầu tiên phát hành trò chơi trên phần cứng di động mới nhất nhằm mang đến trải nghiệm ấn tượng cho giới dân chơi điện tử. Đó là lý do Gameloft chọn ChromeOS để phát triển Asphalt 8:Mir 2 cải thiện hiệu suất kết xuất bằng cách sử dụng thư viện Frame Pacing
Kuro Games giảm 9,68% mức tiêu thụ năng lượng thông qua Trình phân tích năng lượng của Android Studio và ODPM cho Wuthering Waves
Tối ưu hoá Godot Engine Vulkan cho Android
Bắt đầu sử dụng Khung hiệu suất động Android (ADPF) trong Unreal Engine
NCSoft Lineage W cải thiện hiệu suất duy trì và ngăn điều tiết nhiệt bằng cách sử dụng ADPF
MediaTek tăng cường hiệu suất động của các SoC Android
Call of Duty Warzone Mobile sử dụng Vulkan để cải thiện đồ hoạ
Com2uS – Google Play Games dành cho máy tính
Com2uS sử dụng Vulkan để cải thiện đồ hoạ
Kakao Games tăng độ ổn định của FPS lên 96% thông qua Android Adaptability
2K giảm 35% tỷ lệ ANR nhờ Android Game Development Kit
Cookie Run: OvenBreak tiết kiệm hơn 200.000 USD chi phí CDN với Play Asset Delivery
NEW STATE Mobile giảm mức sử dụng GPU xuống 22% nhờ Android GPU Inspector
The Witcher: Monster Slayer gia tăng phạm vi tiếp cận nhờ Android Performance Tuner
2K cung cấp hình ảnh chất lượng cao hơn nhờ sử dụng Play Asset Delivery
"AGDE thật tuyệt vời!" khi phát triển Android bằng Unreal Engine
Firemonkeys đã giảm thời gian phát triển và gỡ lỗi nhờ AGDE
CD Projekt RED giảm 90% kích thước bản cập nhật và tăng 10% tốc độ cập nhật nhờ Play Asset Delivery
RV AppStudios cải thiện tỷ lệ giữ chân người dùng nhờ Google Play Asset Delivery
Gameloft có thêm 10% người dùng mới nhờ Google Play Asset Delivery
Gameloft giảm 70% mức tiêu thụ điện năng của thiết bị, giúp tăng thời gian chơi thêm 35% nhờ API Chế độ trò chơi
Pixonic tăng mức độ tương tác thêm 25% trên ChromeOS bằng cách tối ưu hoá cho màn hình lớn
Gameloft tăng doanh thu gấp 9 lần nhờ tối ưu hoá cho ChromeOS
Hiện không có đề xuất nào.
Hãy thử đăng nhập vào Tài khoản Google của bạn.