Khắc phục sự cố trong Phòng thử nghiệm & Câu hỏi thường gặp
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 lại. 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 Firebase Slack 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, quá trình kiểm thử có thể bắt đầu nhanh hơn. Khi thiết bị có dung lượng thấp, quá trình kiểm thử có thể mất nhiều thời gian hơn. 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 của thiết bị trong Test Lab, hãy xem thông tin về dung lượng thiết bị dành cho Android và iOS.
Vì sao tôi nhận được kết quả thử nghiệm không xác định được?
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 gỡ bỏ nội bộ các lần chạy kiểm thử gây ra lỗi cơ sở hạ tầng nhiều lần trước khi báo cáo kết quả không xác định. Tuy nhiên, bạn có thể tắt các lần thử lại này bằ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 của 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 một 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ượt chạy kiểm thử chạy xong, trạng thái ma trận sẽ là "Đang chờ xử lý" (bất kể các lượt thực thi kiểm thử nằm trong hàng đợi hay đang hoạt động).
Tại sao mất nhiều thời gian để
thử nghiệm kết thúc?
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 gian của bước này có thể chịu ảnh hưởng của số lượng và kích thước của các 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 dùng hết?
Firebase Test Lab cung cấp các hạn mức không tính phí cho việc kiểm thử trên các thiết bị và việc sử dụng các API đám mây. Xin lưu ý rằng hạn mức kiểm thử sử dụng gói giá Firebase tiêu chuẩn, còn hạn mức Cloud API 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 lưu lượng truy cập đến phần phụ trợ của tôi có bắt nguồ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 lúc, nhưng không đảm bảo sẽ chạy song song, chẳng hạn như 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.
Bạn có thể thực hiện việc này 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
Thử nghiệm Robo không thể bỏ qua các màn hình đăng nhập đòi hỏi người dùng thực hiện thêm thao tác ngoài việc nhập thông tin đăng nhập, chẳng hạn như hoàn thành hình ảnh xác thực (CAPTCHA).
Hỗ trợ khung giao diện người dùng
Quy trình kiểm thử Robo hoạt động hiệu quả nhất với các ứng dụng sử dụng các phần tử trên giao diện người dùng trong khung giao diện người dùng Android (bao gồm cả 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.