Câu hỏi thường gặp và khắc phục sự cố trong Phòng thử nghiệm
Trang này cung cấp thông tin 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 Phòng thử nghiệm Firebase. 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 Slack của Firebase hoặc liên hệ với nhóm hỗ trợ của Firebase.
Khắc phục sự cố
Tại sao thử nghiệm của tôi mất nhiều thời gian để chạy như vậy?
Khi bạn chọn một thiết bị có mức dung lượng cao trong danh mục của Phòng thử nghiệm, 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ì việc kiểm thử
có thể mất nhiều thời gian hơn để hoàn tất.
Quá trình kiểm thử chạy trên mọi mức dung lượng của thiết bị có thể mất nhiều thời gian hơn do những yếu tố sau:
Lưu lượng truy cập, ảnh hưởng đến khả năng sử dụng của thiết bị và tốc độ kiểm thử.
Lỗi 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 được báo cáo cho Phòng thử nghiệm hay không, hãy xem trang tổng quan về trạng thái của Firebase.
Để tìm hiểu thêm về dung lượng của thiết bị trong Phòng thử nghiệm, 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 xác định thường xảy ra do các lượt 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 đề trong Phòng thử nghiệm nội bộ gây ra, chẳng hạn như lỗi mạng hoặc hành vi ngoài dự kiến của thiết bị. Phòng thử nghiệm 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ử kiểm tra lại trong Phòng thử nghiệm để xác minh rằng nó có thể tái tạo.
Hãy thử chạy thử nghiệm trên một thiết bị hoặc loại thiết bị khác (nếu có).
Nếu sự cố vẫn tiếp diễn, hãy liên hệ với nhóm Phòng thử nghiệm trong kênh#test-lab trên Slack của Firebase.
Tại sao tính năng phân đoạn khiến kiểm thử của tôi chạy lâu hơn?
Việc phân đoạn có thể khiến kiểm thử 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ó sẵn để sử dụng trong Phòng thử nghiệm. Để 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 thiết bị khác, hãy xem bài viết
Dung lượng của thiết bị.
Tại sao mất nhiều thời gian để
thử nghiệm 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ì quá trình này hoàn tất sau chưa đầy vài giây, nhưng có thể còn chịu ảnh hưởng của các yếu tố như kích thước của ứng dụng.
Sau khi ứng dụng của bạn được chuẩn bị, các lượt thực thi kiểm thử sẽ được lên lịch và ở trong hàng đợi cho đến khi có thiết bị sẵn sàng chạy. 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 phiên 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 miễn phí của Phòng thử nghiệm là bao nhiêu? Tôi nên làm gì nếu dùng hết?
Phòng thử nghiệm Firebase cung cấp các hạn mức miễn phí cho việc kiểm thử trên các thiết bị và việc sử dụng API Google Cloud. 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 API Cloud thì không.
Hạn mức thử nghiệm
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 thử nghiệm cố định mà người dùng không phải trả phí. Đối với gói linh hoạt, 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 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 linh hoạt nếu bạn đang dùng gói Spark.
Nếu đang dùng Gói linh hoạt, bạn có thể yêu cầu tăng hạn mức.
Để biết thêm thông tin, vui lòng xem bài viết Hạn mức kiểm thử.
Cloud Testing API có hai giới hạn 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ủa Cloud Tool
Cloud Tool Results API có 2 giới hạn hạn mức: truy vấn mỗi ngày cho mỗi dự án và 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 của bạn ngay 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 hạn mức API cao hơn 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ợ của 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ừ Phòng thử nghiệm 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 lưu trữ trên Firebase hay không bằng cách kiểm tra địa chỉ IP nguồn dựa trên dải IP của chúng tôi.
Phòng thử nghiệm có hoạt động với VPC-SC không?
Phòng thử nghiệm không hoạt động với VPC-SC. Tính năng này chặn hoạt động 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ớ trong của Phòng thử nghiệm và 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 Phòng thử nghiệm?
Để phát hiện hành vi không ổn định trong các 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 của 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ượt chạy kiểm thử thông thường.
Hãy ghi nhớ những điều sau:
Toàn bộ quá trình chạy kiểm thử sẽ chạy lại khi phát hiện thấy lỗi. Không hỗ trợ tính năng thử lại chỉ 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.
Phòng thử nghiệm có hỗ trợ Appium, Flutter/FlutterDriver, ReactNative/Jest hoặc Cucumber không?
Mặc dù một số mục trong số này đang trong lộ trình, nhưng hiện tại chúng tôi chưa thể cam kết hỗ trợ các nền tảng kiểm thử và phát triển ứng dụng 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, v.v. ở đâu?
Thông tin chi tiết về thiết bị được cung cấp thông qua API và có thể truy cập được từ ứng dụng gcloud bằng cách sử dụ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 bài kiểm thử iOS không?
Tính năng phân đoạn không được hỗ trợ sẵn trong Phòng thử nghiệm dành cho iOS. Tuy nhiên, bạn có thể 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.
Xem trang man cho xcodebuild.xctestrun để biết thêm chi tiết.
Các vấn đề đã biết
Hình ảnh xác thực đă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 quy trình kiểm thử Robo để thực hiện các ứng dụng dùng các khung giao diện người dùng khác, bao gồm cả ứng dụng 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 cần khám phá ngoài màn hình đầu tiên.