Hướng dẫn này mô tả cách chạy thử nghiệm XCTest hoặc Game Loop bằng gcloud CLI.
Bước 1 : Định cấu hình môi trường Google Cloud SDK cục bộ của bạn
- Tải xuống Google Cloud SDK.
- Đảm bảo cài đặt của bạn được cập nhật và bao gồm lệnh
gcloud firebase
:gcloud components update
- Đăng nhập vào gcloud CLI bằng tài khoản Google của bạn:
gcloud auth login
- Đặt dự án Firebase của bạn trong gcloud, trong đó PROJECT_ID là ID của dự án Firebase của bạn:
gcloud config set project PROJECT_ID
Điều này bao gồm công cụ gcloud CLI.
Bước 2 : Chạy thử nghiệm của bạn
Chạy XCTest
Tải lên tệp .zip của bài kiểm tra của bạn bằng cách chạy lệnh sau (nếu bạn chưa đóng gói ứng dụng của mình, hãy xem Đóng gói XCTest của bạn ):
cd FOLDER_WITH_TEST_OUTPUT/Build/Products ; \ zip -r MyTests.zip Debug-iphoneos YOUR_SCHEME_iphoneosDEPLOYMENT_TARGET-arm64.xctestrun
Chọn thứ nguyên thử nghiệm của bạn.
Test Lab cho phép bạn chạy thử nghiệm trên nhiều phiên bản iOS, thiết bị, hướng màn hình và ngôn ngữ khác nhau. Các cấu hình này được gọi là kích thước thử nghiệm của thử nghiệm. Để xem các tùy chọn cho từng thứ nguyên (ví dụ: phiên bản Xcode được hỗ trợ cho phiên bản iOS của thiết bị), hãy thay thế
models
,versions
hoặclocales
chodimension
trong lệnh sau:gcloud firebase test ios dimension list
Định hướng màn hình có phần đơn giản hơn vì các tùy chọn duy nhất của nó là
portrait
vàlandscape
.Xem qua danh sách thứ nguyên thử nghiệm và chọn một vài kết hợp mà bạn muốn chạy thử nghiệm. Truy cập Gói giá để xem số lượng kết hợp tối đa bạn có thể chạy mỗi ngày.
Khi bạn đã chọn một tập hợp các thứ nguyên thử nghiệm, bạn có thể yêu cầu Test Lab chạy thử nghiệm của mình bằng cách sử dụng lệnh
firebase test ios run
. Đối với mỗi tổ hợp kích thước thử nghiệm mà bạn muốn thử nghiệm, hãy bao gồm một cờ--device
riêng:gcloud firebase test ios run --test PATH/TO/MyTests.zip \ --device model=MODEL_ID_1,version=VERSION_ID_1,locale=LOCALE_1,orientation=ORIENTATION_1 \ --device model=MODEL_ID_2,version=VERSION_ID_2,locale=LOCALE_2,orientation=ORIENTATION_2 \ etc...
Có thể thử nghiệm của bạn sẽ không thành công do sự không tương thích giữa phiên bản Xcode dùng để xây dựng thử nghiệm và phiên bản Xcode mặc định được Test Lab sử dụng. Để chỉ định phiên bản Xcode được hỗ trợ cho thử nghiệm của bạn, hãy sử dụng cờ
--xcode-version
:gcloud firebase test ios run --test PATH/TO/MyTests.zip \ --device model=MODEL_ID_1,version=VERSION_ID_1,locale=LOCALE_1,orientation=ORIENTATION_1 \ --xcode-version=11.3
Để giúp bạn xác định và định vị ma trận thử nghiệm của mình trong bảng điều khiển Firebase, bạn có thể tùy ý gắn nhãn ma trận thử nghiệm của mình bằng cách sử dụng cờ
--client-details matrixLabel="<label>"
trong ví dụ sau:gcloud beta firebase test ios run --test PATH/TO/MyTests.zip \ --device model=MODEL_ID_1,version=VERSION_ID_1,locale=LOCALE_1,orientation=ORIENTATION_1 \ --client-details matrixLabel="my label"
Kiểm tra các quyền đặc biệt
Để kiểm tra các quyền yêu cầu ID ứng dụng rõ ràng, bạn có thể làm như vậy bằng cách đặt cờ --test-special-entitlements
. Test Lab ký lại ứng dụng bằng một mã định danh gói mới để hỗ trợ các quyền đặc biệt, vì vậy hãy đảm bảo rằng không có tài nguyên nào trong tệp zip của bạn chứa tham chiếu trực tiếp đến id gói của ứng dụng. thông báo đẩy
Để ủy quyền cho các yêu cầu thông báo đẩy, người dùng có thể tạo mã thông báo web JSON bằng cách sử dụng khóa ký riêng cùng với ID khóa - C7FD9DJAA8 và ID nhóm - 9CKCGNNUQN . Mã thông báo được tạo sẽ có hiệu lực trong một giờ và cần được làm mới sau mỗi 60 phút. Đọc thêm về Thiết lập kết nối dựa trên mã thông báo với APN.
Nhóm ứng dụngID nhóm ứng dụng là duy nhất trên toàn cầu. Điều này có nghĩa là khi ký lại ứng dụng của người dùng, chúng tôi chỉ có thể sử dụng ID nhóm ứng dụng được liên kết với tài khoản nhà phát triển Test Lab. Nếu thử nghiệm của bạn dựa trên các nhóm ứng dụng, thì thử nghiệm của bạn sẽ không đạt.
Chạy thử nghiệm Vòng lặp trò chơi
Chạy lệnh gcloud beta firebase test ios run
và sử dụng các cờ sau để định cấu hình chạy:
Cờ cho các bài kiểm tra Vòng lặp trò chơi | |
---|---|
--type | Bắt buộc : Chỉ định loại thử nghiệm iOS bạn muốn chạy. Bạn có thể nhập các loại kiểm tra |
--app | Bắt buộc : Đường dẫn tuyệt đối (GCS hoặc hệ thống tệp) tới tệp IPA của ứng dụng của bạn. Cờ này chỉ hợp lệ khi chạy thử nghiệm Vòng lặp trò chơi. |
--scenario-numbers | Các vòng lặp (còn gọi là kịch bản) mà bạn muốn chạy trong ứng dụng của mình. Bạn có thể nhập một vòng lặp, một danh sách hoặc nhiều vòng lặp hoặc một dải vòng lặp. Vòng lặp mặc định là 1. Ví dụ: |
--device-model | Thiết bị vật lý mà bạn muốn chạy thử nghiệm của mình (tìm hiểu xem bạn có thể sử dụng thiết bị nào có sẵn ). |
--timeout | Thời lượng tối đa mà bạn muốn thử nghiệm của mình chạy. Bạn có thể nhập một số nguyên để biểu thị khoảng thời gian tính bằng giây hoặc một số nguyên và phép liệt kê để biểu thị khoảng thời gian dưới dạng một đơn vị thời gian dài hơn. Ví dụ:
|
Ví dụ: lệnh sau chạy thử nghiệm Vòng lặp trò chơi thực thi các vòng 1, 4, 6, 7 và 8 trên iPhone 8 Plus:
gcloud beta firebase test ios run --type game-loop --app path/to/my/App.ipa --scenario-numbers 1,4,6-8 --device-model=iphone8plus
Để biết thêm thông tin về gcloud CLI, hãy xem tài liệu tham khảo .
Bước 3 (Tùy chọn) : Tự động hóa các thử nghiệm trong tương lai mà bạn xây dựng
Viết lệnh gcloud với Test Lab
Bạn có thể sử dụng tập lệnh shell hoặc tệp bó để tự động hóa các lệnh thử nghiệm ứng dụng dành cho thiết bị di động mà nếu không bạn sẽ chạy bằng dòng lệnh gcloud. Tập lệnh bash mẫu này chạy XCTest với thời gian chờ hai phút và báo cáo nếu quá trình chạy thử nghiệm hoàn tất thành công:
if gcloud firebase test ios run --test MyTest.zip --timeout 2m then echo "Test matrix successfully finished" else echo "Test matrix exited abnormally with non-zero exit code: " $? fi
Mã thoát tập lệnh
Test Lab cung cấp một số mã thoát mà bạn có thể sử dụng để hiểu rõ hơn về kết quả của các thử nghiệm mà bạn chạy bằng tập lệnh hoặc tệp bó.
mã thoát | ghi chú |
---|---|
0 | Tất cả các lần thực hiện kiểm tra đã được thông qua. |
1 | Một thất bại chung xảy ra. Các nguyên nhân có thể bao gồm: tên tệp không tồn tại hoặc lỗi HTTP/mạng. |
2 | Kiểm tra đã thoát vì các lệnh hoặc đối số không xác định đã được cung cấp. |
10 | Một hoặc nhiều trường hợp kiểm tra (các lớp hoặc phương thức lớp đã kiểm tra) trong một lần thực hiện kiểm tra đã không vượt qua. |
15 | Phòng thí nghiệm kiểm tra Firebase không thể xác định xem ma trận kiểm tra có đạt hay không do lỗi không mong muốn. |
19 | Ma trận kiểm tra đã bị hủy bởi người dùng. |
20 | Đã xảy ra lỗi cơ sở hạ tầng thử nghiệm. |
Bước 4 : Tra cứu kết quả xét nghiệm
Khi bài kiểm tra bắt đầu, bạn sẽ nhận được một liên kết đến trang Kết quả kiểm tra . Các thử nghiệm có thể mất vài phút để chạy, tùy thuộc vào số lượng cấu hình khác nhau mà bạn đã chọn và khoảng thời gian chờ thử nghiệm được đặt cho các thử nghiệm của bạn. Sau khi thử nghiệm của bạn chạy xong, bạn có thể xem lại kết quả thử nghiệm. Xem Phân tích kết quả phòng thí nghiệm kiểm tra Firebase để tìm hiểu thêm về cách diễn giải kết quả kiểm tra của bạn.
Bước tiếp theo
Đọc tài liệu Google Cloud SDK để khám phá các tùy chọn thử nghiệm thường có sẵn hoặc ở dạng beta .