Kiểm tra với CLI gcloud

Hướng dẫn này mô tả cách chạy XCTest hoặc kiểm tra 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ộ của bạn

  1. Tải xuống Google Cloud SDK.
  2. Điều này bao gồm công cụ gcloud CLI.

  3. Đả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
  4. Đăng nhập vào CLI gcloud bằng tài khoản Google của bạn:
          gcloud auth login
  5. Đặ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

Bước 2 : Chạy thử nghiệm của bạn

Chạy XCTest

  1. 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
  2. Chọn kích thước 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 kiểm tra 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ặc locales thay thế cho thứ dimension trong lệnh sau:

    gcloud firebase test ios dimension list

    Hướng landscape portrait có phần đơn giản hơn, vì các tùy chọn duy nhất của nó là dọc và ngang.

    Xem qua danh sách các 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 của mình. Truy cập Kế hoạch định giá để xem số lượng kết hợp tối đa bạn có thể chạy mỗi ngày.

  3. 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 Phòng thí nghiệm 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 kết hợp thứ nguyên thử nghiệm mà bạn muốn thử nghiệm, hãy bao gồm một --device - thiết bị riêng biệt:

    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 không tương thích giữa phiên bản Xcode mà thử nghiệm đã được xây dựng 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 --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

Kiểm tra các quyền lợi đặ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ã 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 có chứa các tham chiếu trực tiếp đến id gói của ứng dụng.

Đẩy thông báo

Để ủy quyền 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 tư cùng với ID khóa - C7FD9DJAA8 và ID nhóm - 9CKCGNNUQN . Các mã thông báo được tạo sẽ có giá trị 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.

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 kiểm tra iOS bạn muốn chạy. Bạn có thể nhập các loại thử nghiệm xctest (mặc định) hoặc game-loop .

--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ủ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 (hay còn gọi là kịch bản) 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 các vòng lặp hoặc một loạt các vòng lặp. Vòng lặp mặc định là 1.

Ví dụ: --scenario-numbers=1-3,5 chạy các vòng 1, 2, 3 và 5.

--device-model

Thiết bị vật lý bạn muốn chạy thử nghiệm của mình (tìm hiểu những thiết bị khả dụng mà bạn có thể sử dụng).

--timeout

Thời lượng tối đa bạn muốn chạy thử nghiệm của mình. Bạn có thể nhập một số nguyên để biểu thị thời lượng tính bằng giây hoặc một số nguyên và kiểu liệt kê để biểu thị thời lượng dưới dạng một đơn vị thời gian dài hơn.

Ví dụ:

  • --timeout=200 buộc thử nghiệm của bạn kết thúc khi nó chạy lên đến 200 giây.
  • --timeout=1h buộc thử nghiệm của bạn kết thúc khi nó chạy đến một giờ.

Ví dụ: lệnh sau chạy kiểm tra Vòng lặp trò chơi thực hiện 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 4 (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 kịch bản lệnh gcloud với Test Lab

Bạn có thể sử dụng các tập lệnh shell hoặc các tệp hàng loạt để tự động hóa các lệnh kiểm tra ứ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 bài kiểm tra mà bạn chạy bằng cách sử dụng tập lệnh hoặc tệp hàng loạt.

Mã thoát Ghi chú
0 Tất cả các lần thực thi thử nghiệm đã được thông qua.
1 Một thất bại chung đã xảy ra. 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 Đã thoát thử nghiệm 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 thử nghiệm (các lớp được thử nghiệm hoặc các phương thức lớp) trong một lần thực thi thử nghiệm đã không vượt qua.
15 Phòng thí nghiệm kiểm tra Firebase không thể xác định ma trận kiểm tra đạt hay không đạt do lỗi không mong muốn.
19 Ma trận kiểm tra đã bị người dùng hủy bỏ.
20 Đã xảy ra lỗi cơ sở hạ tầng thử nghiệm.

Bước 5 : Điều tra kết quả thử nghiệm

Khi bài kiểm tra bắt đầu, bạn nhận được một liên kết đến trang Kết quả Kiểm tra . Các bài kiểm tra có thể mất một số 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ờ kiểm tra được đặt cho các bài kiểm tra của bạn. Sau khi chạy thử nghiệm, 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 thử nghiệm Firebase để tìm hiểu thêm về cách diễn giải kết quả thử nghiệm 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 đang trong giai đoạn thử nghiệm .