Khắc phục sự cố trong Phòng thử nghiệm & Câu hỏi thường gặp
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.
Trang này cung cấp trợ giúp khắc phục sự cố và câu trả lời cho các câu hỏi thường gặp về việc chạy kiểm thử bằng Firebase Test Lab. Các vấn đề đã biết cũng được ghi nhận. Nếu bạn không tìm thấy nội dung mình cần hoặc cần được trợ giúp thêm, hãy tham gia kênh #test-lab trên Slack của Firebase hoặc liên hệ với nhóm hỗ trợ Firebase.
Khắc phục sự cố
Tại sao quá trình kiểm thử của tôi lại mất nhiều thời gian như vậy?
Khi bạn chọn một thiết bị có mức dung lượng cao trong danh mục Test Lab, các chương trình kiểm thử có thể bắt đầu nhanh hơn. Khi thiết bị có dung lượng thấp, các chương trình kiểm thử có thể mất nhiều thời gian hơn để chạy. Nếu số lượng kiểm thử được gọi lớn hơn nhiều so với dung lượng của các thiết bị đã chọn, thì quá trình kiểm thử có thể mất nhiều thời gian hơn để hoàn tất.
Các chương trình kiểm thử chạy trên bất kỳ cấp độ dung lượng thiết bị nào cũng có thể mất nhiều thời gian hơn do các yếu tố sau:
Lưu lượng truy cập, ảnh hưởng đến khả năng sử dụng thiết bị và tốc độ kiểm thử.
Sự cố thiết bị hoặc cơ sở hạ tầng có thể xảy ra bất cứ lúc nào. Để kiểm tra xem có cơ sở hạ tầng nào được báo cáo cho Test Lab hay không, hãy xem trang tổng quan về trạng thái Firebase.
Để tìm hiểu thêm về dung lượng thiết bị trong Test Lab, hãy xem thông tin về dung lượng thiết bị cho Android và iOS.
Tại sao tôi nhận được kết quả thử nghiệm không rõ ràng?
Kết quả kiểm thử không kết luận được thường xảy ra do các lần chạy kiểm thử bị huỷ hoặc lỗi cơ sở hạ tầng.
Lỗi cơ sở hạ tầng là do các vấn đề Test Lab nội bộ gây ra, chẳng hạn như lỗi mạng hoặc hành vi không mong muốn của thiết bị. Test Lab sẽ loại bỏ các lần chạy kiểm thử tạo ra lỗi cơ sở hạ tầng nhiều lần trước khi báo cáo kết quả không kết luận được; tuy nhiên, bạn có thể tắt các lần thử lại này bằng cách sử dụng failFast.
Để xác định nguyên nhân gây ra lỗi, hãy làm theo các bước sau:
Thử lại kiểm thử trong Test Lab để xác minh rằng kiểm thử đó có thể tái hiện.
Hãy thử chạy kiểm thử trên một thiết bị hoặc loại thiết bị khác (nếu có).
Nếu vấn đề vẫn tiếp diễn, hãy liên hệ với nhóm Test Lab trong kênh#test-lab trên Firebase Slack.
Tại sao việc phân đoạn khiến các chương trình kiểm thử của tôi chạy lâu hơn?
Tính năng phân đoạn có thể khiến các chương trình kiểm thử của bạn chạy lâu hơn khi số lượng phân đoạn bạn chỉ định vượt quá số lượng thiết bị có thể sử dụng trong Test Lab. Để tránh trường hợp này, hãy thử chuyển sang một thiết bị khác. Để biết thêm thông tin về cách chọn một thiết bị khác, hãy xem phần
Dung lượng thiết bị.
Tại sao quá trình kiểm thử của tôi mất nhiều thời gian để bắt đầu?
Khi bạn gửi yêu cầu kiểm thử, trước tiên, ứng dụng của bạn sẽ được xác thực, ký lại, v.v. để chuẩn bị chạy kiểm thử trên một thiết bị. Thông thường, quá trình này sẽ hoàn tất trong chưa đến vài giây, nhưng có thể chịu ảnh hưởng của các yếu tố như kích thước ứng dụng.
Sau khi ứng dụng của bạn được chuẩn bị, các lần thực thi kiểm thử sẽ được lên lịch và vẫn nằm trong hàng đợi cho đến khi thiết bị sẵn sàng chạy ứng dụng. Cho đến khi tất cả các lần thực thi kiểm thử chạy xong,
trạng thái của ma trận sẽ là "Đang chờ xử lý" (bất kể các lần thực thi kiểm thử có
ở trong hàng đợi hay đang chạy hay không).
Tại sao quá trình kiểm thử của tôi mất nhiều thời gian để hoàn tất?
Sau khi quá trình thực thi kiểm thử hoàn tất, các cấu phần phần mềm kiểm thử sẽ được tải xuống từ thiết bị, xử lý và tải lên Cloud Storage. Thời lượng của bước này có thể bị ảnh hưởng bởi số lượng và kích thước của cấu phần phần mềm.
Câu hỏi thường gặp
Hạn mức không tính phí cho Test Lab là gì? Tôi nên làm gì nếu hết hạn?
Firebase Test Lab cung cấp hạn mức miễn phí để kiểm thử trên thiết bị và sử dụng API trên đám mây. Xin lưu ý rằng hạn mức thử nghiệm sử dụng gói giá Firebase tiêu chuẩn, còn hạn mức API trên đám mây thì không.
Hạn mức kiểm thử
Hạn mức kiểm thử được xác định theo số lượng thiết bị dùng để chạy kiểm thử.
Gói Firebase Spark có hạn mức kiểm thử cố định mà người dùng không phải trả phí. Đối với gói Blaze, hạn mức của bạn có thể tăng lên nếu mức sử dụng Google Cloud của bạn tăng lên theo thời gian. Nếu bạn đạt đến hạn mức kiểm thử, hãy đợi đến ngày tiếp theo hoặc nâng cấp lên gói Blaze nếu bạn đang dùng gói Spark.
Nếu đang sử dụng gói Blaze, bạn có thể yêu cầu tăng hạn mức.
Để biết thêm thông tin, hãy xem phần Kiểm thử hạn mức.
Cloud Testing API có hai hạn mức: số yêu cầu mỗi ngày cho mỗi dự án và số yêu cầu mỗi 100 giây cho mỗi dự án. Bạn có thể theo dõi mức sử dụng trong bảng điều khiển Google Cloud.
Hạn mức API Kết quả công cụ trên đám mây
API Kết quả công cụ trên đám mây có hai hạn mức: số truy vấn mỗi ngày cho mỗi dự án và số truy vấn mỗi 100 giây cho mỗi dự án. Bạn có thể theo dõi mức sử dụng trong bảng điều khiển Google Cloud.
Gửi yêu cầu tăng hạn mức bằng cách
chỉnh sửa hạn mức
trực tiếp trong bảng điều khiển Google Cloud (lưu ý rằng hầu hết các giới hạn đều được đặt thành
tối đa theo mặc định) hoặc
Yêu cầu tăng hạn mức API bằng cách điền vào biểu mẫu yêu cầu trong bảng điều khiển Google Cloud hoặc liên hệ với nhóm hỗ trợ Firebase.
Làm cách nào để biết liệu lưu lượng truy cập đến phần phụ trợ của tôi có đến từ Test Lab hay không?
Từ phần phụ trợ, bạn có thể xác định xem lưu lượng truy cập có đến từ các thiết bị thử nghiệm do Firebase lưu trữ hay không bằng cách kiểm tra địa chỉ IP nguồn với dải IP của chúng tôi.
Test Lab có hoạt động với VPC-SC không?
Test Lab không hoạt động với VPC-SC, tính năng này chặn việc sao chép ứng dụng và các cấu phần phần mềm kiểm thử khác giữa bộ nhớ nội bộ của Test Lab và các bộ chứa kết quả của người dùng.
Làm cách nào để phát hiện các kiểm thử không ổn định trong Test Lab?
Để phát hiện hành vi không ổn định trong kiểm thử, bạn nên sử dụng tuỳ chọn
--num-flaky-test-attempts
. Các lần chạy lại Deflake sẽ được tính phí hoặc tính vào hạn mức hằng ngày của bạn giống như các lần thực thi kiểm thử thông thường.
Hãy ghi nhớ những điều sau:
Toàn bộ quá trình thực thi kiểm thử sẽ chạy lại khi phát hiện lỗi. Không hỗ trợ việc chỉ thử lại các trường hợp kiểm thử không thành công.
Các lần chạy thử lại Deflake được lên lịch chạy cùng một lúc, nhưng không được đảm bảo chạy song song, ví dụ: khi lưu lượng truy cập vượt quá số lượng thiết bị có sẵn.
Test Lab có hỗ trợ Appium, Flutter/FlutterDriver, ReactNative/Jest hay Cucumber không?
Mặc dù một số mục trong số này có trong lộ trình của chúng tôi, nhưng hiện tại, chúng tôi không thể cam kết hỗ trợ các nền tảng phát triển ứng dụng và kiểm thử này.
Tôi có thể tìm thông tin chi tiết về thiết bị, chẳng hạn như độ phân giải, ở đâu?
Bạn có thể xem thông tin chi tiết về thiết bị thông qua API và truy cập thông tin đó từ ứng dụng gcloud bằng lệnh mô tả:
gcloud firebase test ios models describe MODEL
Tôi có thể sử dụng tính năng phân đoạn với các bài kiểm thử iOS không?
Tính năng phân đoạn không được hỗ trợ gốc trong Test Lab dành cho iOS. Tuy nhiên, bạn có thể sử dụng ứng dụng Flank để phân đoạn các trường hợp kiểm thử iOS.
Cách này hoạt động bằng cách đặt khoá và giá trị OnlyTestIdentifiers trong tệp .xctestrun.
Hãy xem trang man cho xcodebuild.xctestrun để biết thêm thông tin chi tiết.
Các vấn đề đã biết
Hình ảnh xác thực khi đăng nhập
Kiểm thử Robo không thể bỏ qua các màn hình đăng nhập yêu cầu người dùng thực hiện thêm hành động ngoài việc nhập thông tin đăng nhập, ví dụ: hoàn tất CAPTCHA.
Hỗ trợ khung giao diện người dùng
Kiểm thử Robo hoạt động hiệu quả nhất với các ứng dụng sử dụng các thành phần giao diện người dùng từ khung giao diện người dùng Android (bao gồm các đối tượng View, ViewGroup và WebView). Nếu bạn sử dụng kiểm thử Robo để thực thi các ứng dụng sử dụng các khung giao diện người dùng khác, bao gồm cả các ứng dụng sử dụng công cụ phát triển trò chơi Unity, thì quy trình kiểm thử có thể thoát mà không khám phá ra ngoài màn hình đầu tiên.
[[["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: 2024-12-22 UTC."],[],[]]