Hướng dẫn này mô tả cách chạy một XCTest hoặc một kiểm thử Vòng lặp trò chơi bằng cách sử dụng gcloud CLI.
Bước 1: Định cấu hình môi trường Google Cloud SDK cục bộ
- Tải Google Cloud SDK xuống
- Đảm bảo rằng bản cài đặt của bạn là bản mới nhất và có 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à mã dự án Firebase của bạn:
gcloud config set project
PROJECT_ID
Điều này bao gồm cả công cụ gcloud CLI.
Bước 2: Chạy thử nghiệm
Chạy XCTest
Tải tệp .zip của kiểm thử lên bằng cách chạy lệnh sau (nếu bạn chưa đóng gói ứng dụng, hãy xem phần Đóng gói XCTest):
cd
FOLDER_WITH_TEST_OUTPUT /Build/Products ; \ zip -r MyTests.zip Debug-iphoneosYOUR_SCHEME _iphoneosDEPLOYMENT_TARGET -arm64.xctestrunChọn phương diện thử nghiệm.
Test Lab cho phép bạn chạy các kiểm thử trên nhiều phiên bản iOS, thiết bị, hướng màn hình và ngôn ngữ. Các cấu hình này được gọi là các phương diện kiểm thử của kiểm thử. Để xem các lựa chọn cho từng phương diện (ví dụ: các 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 listHướng màn hình đơn giản hơn một chút, vì hướng này chỉ có các lựa chọn là
portrait
vàlandscape
.Xem danh sách các phương diện kiểm thử và chọn một vài tổ hợp mà bạn muốn chạy kiểm thử. Truy cập vào Gói giá để xem số lượng tối đa các tổ hợp mà bạn có thể chạy mỗi ngày.
Sau khi chọn một nhóm các phương diện kiểm thử, bạn có thể để Test Lab chạy các kiểm thử bằng lệnh
firebase test ios run
. Đối với mỗi tổ hợp phương diện thử nghiệm mà bạn muốn thử nghiệm, hãy thê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ể kiểm thử 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 mà kiểm thử được tạo và phiên bản Xcode mặc định mà Test Lab sử dụng. Để chỉ định phiên bản Xcode được hỗ trợ cho kiểm thử, 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=15Để giúp bạn xác định và định vị ma trận kiểm thử trong bảng điều khiển Firebase, bạn có thể tuỳ ý gắn nhãn ma trận kiểm thử bằ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 thử quyền đặc biệt
Để kiểm thử các quyền yêu cầu Mã ứng dụng rõ ràng, bạn có thể thực hiện bằng cách đặt cờ --test-special-entitlements
. Test Lab ký lại ứng dụng bằng một giá trị nhận dạng 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 các thông tin tham chiếu trực tiếp đến giá trị nhận dạng gói của ứng dụng.
- Thông báo đẩy
apns-environment
- VPN cá nhân
com.apple.developer.networking.vpn.api
Để uỷ 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 khoá ký riêng tư cùng với Mã khoá – C7FD9DJAA8 và Mã 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 APNs.
Nhóm ứng dụngMã nhóm ứng dụng là mã nhận dạng duy nhất trên toàn cầu. Điều này có nghĩa là khi ký lại các ứng dụng người dùng, chúng tôi chỉ có thể sử dụng mã nhận dạng 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 kiểm thử của bạn dựa vào các nhóm ứng dụng, thì kiểm thử sẽ không thành công.
Chạy thử nghiệm Vòng lặp trò chơi
Chạy lệnh gcloud beta firebase test ios run
và dùng các cờ sau để định cấu hình lượt chạy:
Cờ cho các thử nghiệm Vòng lặp trò chơi | |
---|---|
--type
|
Bắt buộc: Chỉ định loại thử nghiệm iOS mà bạn muốn chạy. Bạn có thể nhập các loại kiểm thử |
--app
|
Bắt buộc: Đường dẫn tuyệt đối (GCS hoặc hệ thống tệp) đến tệp IPA của ứng dụng. Cờ này chỉ hợp lệ khi chạy các bài kiểm thử 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. Bạn có thể nhập một vòng lặp, danh sách vòng lặp hoặc một dải vòng lặp. Số vòng lặp mặc định là 1.
Ví dụ: |
--device-model
|
Thiết bị thực mà bạn muốn chạy thử nghiệm (tìm hiểu xem bạn có thể dùng những thiết bị hiện có nào). |
--timeout
|
Thời lượng tối đa bạn muốn chạy thử nghiệm. 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 bằng một đơn vị thời gian dài hơn. Ví dụ:
|
Ví dụ: lệnh sau đây chạy một bài kiểm thử Vòng lặp trò chơi, thực hiện các vòng lặp 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 (Không bắt buộc): Tự động hoá các kiểm thử mà bạn sẽ tạo trong tương lai
Viết tập lệnh cho các lệnh gcloud bằng Test Lab
Bạn có thể sử dụng tập lệnh shell hoặc tệp hàng loạt để tự động hoá các lệnh kiểm thử ứng dụng di động mà bạn sẽ chạy bằng dòng lệnh gcloud. Tập lệnh bash mẫu này chạy một XCTest với thời gian chờ là 2 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 của tập lệnh
Test Lab cung cấp một số mã thoát mà bạn có thể dùng để hiểu rõ hơn về kết quả của các kiểm thử mà bạn chạy bằng tập lệnh hoặc tệp hàng loạt.
Mã thoát | Lưu ý |
---|---|
0 | Đã vượt qua tất cả các lần thực thi kiểm thử. |
1 | Đã xảy ra lỗi chung. Nguyên nhân có thể là do: tên tệp không tồn tại hoặc lỗi HTTP/mạng. |
2 | Quá trình kiểm thử đã thoát vì bạn cung cấp các lệnh hoặc đối số không xác định. |
10 | Một hoặc nhiều trường hợp kiểm thử (các lớp hoặc phương thức lớp được kiểm thử) trong quá trình thực thi kiểm thử không vượt qua. |
15 | Firebase Test Lab không thể xác định xem ma trận kiểm thử có vượt qua hay không thành công, do một lỗi ngoài ý muốn. |
19 | Người dùng đã huỷ ma trận kiểm thử. |
20 | Đã xảy ra lỗi cơ sở hạ tầng kiểm thử. |
Bước 4: Điều tra kết quả kiểm thử
Khi bắt đầu kiểm tra, bạn sẽ nhận được một đường liên kết đến trang Kết quả kiểm tra. Các kiểm thử có thể mất vài phút để chạy, tuỳ thuộc vào số lượng cấu hình khác nhau mà bạn đã chọn và thời lượng hết thời gian chờ kiểm thử được đặt cho các kiểm thử của bạn. Sau khi các thử nghiệm chạy xong, bạn có thể xem xét kết quả thử nghiệm. Xem phần Phân tích kết quả Firebase Test Lab để tìm hiểu thêm về cách diễn giải kết quả thử nghiệm.
Bước tiếp theo
Đọc tài liệu về Google Cloud SDK để khám phá các lựa chọn kiểm thử được cung cấp công khai hoặc ở giai đoạn beta.