Tài liệu này mô tả các AVD dành cho Test Lab, bao gồm các lợi ích và hạn chế đã biết. Chúng tôi cũng cung cấp các đề xuất về cách thử nghiệm ứng dụng của bạn trong suốt vòng đời phát triển.
Mặc dù AVD của Test Lab tương tự như AVD dành cho Android Studio , nhưng có một số điểm khác biệt giữa hai loại này. Chẳng hạn, các AVD trong Test Lab có kết nối dữ liệu giả lập thay vì kết nối Wi-Fi.
Các AVD của Test Lab có hậu tố .arm
hoặc (ARM) là các trình giả lập nâng cao mang lại các lợi ích sau:
Thời gian thực hiện kiểm tra nhanh hơn
Kích thước và mật độ màn hình phù hợp với AVD của Android Studio để đảm bảo tính nhất quán
Sử dụng AVD có hậu tố .arm
hoặc (ARM) mang lại những lợi ích sau so với các loại thiết bị vật lý khác:
Lợi ích | Sự miêu tả | Trường hợp sử dụng) |
Tính khả dụng cao | Bạn có thể chạy thử nghiệm và nhận kết quả thử nghiệm nhanh hơn khi thử nghiệm với thiết bị ảo. Vì các thiết bị ảo được tạo theo yêu cầu nên các thử nghiệm của bạn bắt đầu gần như ngay lập tức, giúp xác thực nhanh chóng ứng dụng của bạn. | Thử nghiệm các bản cập nhật nhỏ cho ứng dụng của bạn hoặc để thử nghiệm hồi quy. |
Thời gian thử nghiệm dài hơn | Các thử nghiệm trên thiết bị vật lý được giới hạn trong thời lượng thử nghiệm là 45 phút trên mỗi thiết bị. Các thiết bị ảo hỗ trợ thời lượng kiểm tra lên tới 60 phút. | Chạy thử nghiệm lâu hơn. |
Giá rẻ | Thiết bị ảo có giá $1 mỗi giờ cho mỗi thiết bị ảo được sử dụng để kiểm tra ứng dụng của bạn. | Thử nghiệm hàng ngày bằng hệ thống tích hợp liên tục hoặc trước khi kiểm tra mã. Để tìm hiểu thêm, hãy xem Mức sử dụng, hạn ngạch và giá cho Test Lab . |
Kiểm tra ứng dụng của bạn với các thiết bị ảo
Bạn có thể kiểm tra ứng dụng của mình bằng thiết bị ảo giống như cách bạn kiểm tra ứng dụng đó bằng thiết bị thực. Chỉ cần chọn thiết bị ảo khi bạn chọn kích thước thử nghiệm để định cấu hình ma trận thử nghiệm. Để tìm hiểu thêm về cách chạy thử nghiệm với Test Lab, hãy xem Bắt đầu thử nghiệm cho Android với Firebase Test Lab .
Xem các mô hình và API được hỗ trợ
Để xem các mô hình AVD và API được Test Lab hỗ trợ, hãy chạy lệnh sau:
gcloud firebase test android models list --filter=virtual
Các phương pháp hay nhất để thử nghiệm ứng dụng của bạn
Các thiết bị ảo làm tăng phạm vi tùy chọn của bạn khi bạn thử nghiệm ứng dụng của mình với Test Lab. Chúng tôi khuyên bạn nên sử dụng các phương pháp hay nhất trong phần này để thử nghiệm ứng dụng của mình trong suốt vòng đời phát triển ứng dụng.
Sử dụng trình giả lập Android Studio hoặc thiết bị vật lý đi kèm
Khi phát triển ứng dụng của bạn, hãy sử dụng trình giả lập Android Studio hoặc thiết bị thực được đính kèm để kiểm tra từng bản dựng để xác thực ban đầu. Nếu có các bài kiểm tra thiết bị, thì bạn cũng có thể chạy các bài kiểm tra này từ Android Studio trên thiết bị thực hoặc thiết bị ảo do Test Lab cung cấp.
Sử dụng các hệ thống CI trên mỗi lần thay đổi mã khi làm việc trên các dự án được chia sẻ
Nếu bạn làm việc trong một dự án lớn hoặc nếu bạn đóng góp cho các dự án được chia sẻ bằng GitHub hoặc một dịch vụ tương tự, chúng tôi khuyên bạn nên sử dụng các hệ thống tích hợp liên tục (CI).
Kiểm tra ứng dụng của bạn trên thiết bị ảo mỗi khi hệ thống CI chạy hoặc trước mỗi yêu cầu kéo. Để tìm hiểu thêm về cách sử dụng Test Lab với hệ thống CI, hãy xem Sử dụng Test Lab cho Android với Hệ thống tích hợp liên tục .
Thử nghiệm ứng dụng của bạn trên các thiết bị thực với Test Lab trước khi bạn phát hành các bản cập nhật ứng dụng quan trọng
Trước khi bạn phát hành bản cập nhật ứng dụng với những thay đổi quan trọng về giao diện người dùng và chức năng, chúng tôi khuyên bạn nên sử dụng Test Lab để kiểm tra ứng dụng của mình trên các thiết bị thực. Điều này sẽ giúp đảm bảo rằng ứng dụng của bạn ổn định và hoạt động hiệu quả trên nhiều loại thiết bị vật lý phổ biến. Thử nghiệm trên thiết bị vật lý cũng đảm bảo phạm vi thử nghiệm cho bất kỳ chức năng ứng dụng nào dựa trên các tính năng của thiết bị vật lý không được mô phỏng bởi thiết bị ảo. Để tìm hiểu thêm về các tính năng này, hãy xem Các giới hạn đã biết .
Cập nhật thiết bị ảo
Theo định kỳ, nhóm Android sẽ thêm hình ảnh thiết bị ảo mới, loại bỏ hình ảnh cũ và cập nhật hình ảnh hiện có. Chúng tôi áp dụng các bản cập nhật này cho hình ảnh thiết bị ảo của mình để giúp đảm bảo rằng bạn đang thử nghiệm các phiên bản Android cập nhật phản ánh trải nghiệm của người dùng.
Trong một số ít trường hợp, các bản cập nhật này có thể khiến các thử nghiệm không thành công ngoài ý muốn. Khi có một bản cập nhật đã biết có khả năng bị lỗi, Test Lab sẽ đưa thông tin vào ghi chú phát hành . Như một phương pháp hay nhất, chúng tôi khuyên bạn nên sử dụng các khung thử nghiệm – ví dụ: Espresso – mạnh mẽ đối với những thay đổi này bất cứ khi nào có thể. Khi điều đó là không thể, chúng tôi khuyên bạn nên nhắm mục tiêu các thiết bị ảo ARM mà bạn có thể mong đợi cập nhật ít thường xuyên hơn.
hạn chế đã biết
Một số tính năng của thiết bị vật lý hiện không được mô phỏng bởi thiết bị ảo hoặc được mô phỏng với một số hạn chế. Bảng sau đây tóm tắt các tính năng hiện không khả dụng trên thiết bị ảo hoặc khả dụng với một số hạn chế nhất định.
Tính năng | Chi tiết |
Giao diện nhị phân ứng dụng (ABI) | Không phải tất cả các thiết bị đều hỗ trợ tất cả ABI. Nếu bạn đang phát triển với NDK của Android, hãy đảm bảo tạo mã cho ABI được thiết bị bạn nhắm mục tiêu hỗ trợ. Để biết thêm thông tin, hãy xem Các thiết bị khả dụng trong Phòng thí nghiệm kiểm tra . Để tìm hiểu thêm về quản lý ABI, hãy xem ABI của Android . Để tìm hiểu ABI nào được thiết bị hỗ trợ, hãy xem Kiểm tra các thiết bị thử nghiệm khả dụng . Lưu ý: Nếu một thử nghiệm trong ma trận thử nghiệm của bạn được đánh dấu là Không hợp lệ, điều này có thể xảy ra do ứng dụng của bạn phụ thuộc vào mã gốc không được ABI của thiết bị hỗ trợ. |
Hiệu suất đồ họa | Các thiết bị ảo Nexus và Pixel sử dụng kết xuất đồ họa phần mềm. Các ứng dụng chuyên sâu về đồ họa sẽ có hiệu năng thấp hơn. Nếu ứng dụng của bạn sử dụng nhiều đồ họa, hãy sử dụng các mẫu SmallPhone.arm và MediumPhone.arm hoặc thiết bị vật lý để thay thế. |
Ghi màn hình | Ghi màn hình trên thiết bị Nexus và Pixel là 1 khung hình mỗi giây. |
API đồ họa | OpenGL ES 3.x không được hỗ trợ trên các thiết bị dưới API cấp 29. Các thiết bị mới hơn không tương thích 100% với API OpenGL/Vulkan. Bạn có thể nhận thấy sự khác biệt nhỏ trong đồ họa. |