OmniLab Android Test Station

OmniLab ATS là một công cụ kiểm thử mà các nhà phát triển và kỹ sư kiểm thử Android có thể sử dụng để dùng giao diện người dùng nhằm chạy các bộ kiểm thử Android tiêu chuẩn, chẳng hạn như Bộ kiểm tra tính tương thích với Android (CTS). Công cụ này đóng vai trò là giao diện web cho nhiều khung kiểm thử, chẳng hạn như Trade Federation (TF) và Google Mobly, cho phép bạn chạy CTS và kiểm thử nhiều thiết bị trên một nhóm thiết bị kiểm thử với mức thiết lập tối thiểu, cũng như thiết lập lịch biểu để liên tục chạy kiểm thử.

Giới thiệu về OmniLab ATS 2.0

OmniLab ATS 2.0 di chuyển cơ sở hạ tầng phiên chạy thử nghiệm cơ bản từ Trade Federation sang OmniLab. Thay đổi này mang lại một phần phụ trợ mạnh mẽ và hiệu quả hơn, đồng thời vẫn giữ nguyên giao diện người dùng và quy trình làm việc của OmniLab ATS 1.0.

Lợi ích chính của OmniLab ATS 2.0:

  • Cơ sở hạ tầng hiện đại: Tận dụng nền tảng OmniLab để cải thiện độ ổn định và hiệu suất.
  • Chuyển đổi liền mạch: Không có thay đổi nào đối với giao diện người dùng web hoặc quy trình phiên chạy thử nghiệm cốt lõi.
  • Sẵn sàng cho tương lai: Phù hợp với cơ sở hạ tầng thử nghiệm hợp nhất của Google, giúp áp dụng các tính năng mới nhanh hơn.

OmniLab ATS 2.0 có các tính năng mới như cập nhật kế hoạch kiểm thử hàng loạt, phân bổ thiết bị nâng cao và nhiều tính năng khác sắp ra mắt. Hãy xem ghi chú phát hành để biết thông tin cập nhật.

Nâng cấp lên OmniLab ATS 2.0:

Để sử dụng OmniLab ATS 2.0, bạn phải nâng cấp trạm của mình lên bản dựng R52 trở lên. Sử dụng cờ --force_ats_version 2 để chuyển sang Omnilab ATS 2.0 mới và cờ --force_update bằng lệnh mtt start để nâng cấp lên bản dựng mới nhất:

mtt start --force_ats_version 2 --force_update

Trong thời gian di chuyển, bạn nên sử dụng thẻ dogfood để truy cập vào bản dựng ổn định mới nhất có các tính năng của OmniLab ATS 2.0:

mtt start --force_ats_version 2 --tag dogfood --force_update

Chúng tôi dự định đặt OmniLab ATS 2.0 làm phiên bản mặc định vào quý 3 năm 2026. Chúng tôi dự định sẽ ngừng cung cấp OmniLab ATS 1.0 muộn nhất vào cuối năm 2026.

Để biết thêm thông tin chi tiết về các bản cập nhật cụ thể, những điểm khác biệt đã biết và hướng dẫn nâng cấp, hãy xem Hướng dẫn nâng cấp OmniLab ATS 2.0.

Thiết lập OmniLab ATS

Phần này giải thích cách cài đặt và thiết lập OmniLab ATS.

OmniLab ATS sử dụng mã nguồn từ các vị trí sau:

Cài đặt OmniLab ATS

Tuân thủ mọi yêu cầu về phần cứng và phần mềm đối với bộ kiểm thử mà bạn chạy.

Bạn có thể xem các yêu cầu đối với CTS trên source.android.com.

Không có yêu cầu bổ sung nào về phần cứng đối với OmniLab ATS, nhưng bạn nên sử dụng yêu cầu về máy chủ CTS làm điểm xuất phát.

Có hai cách để cài đặt OmniLab ATS:

Cài đặt bằng chương trình cài đặt

Chương trình cài đặt được hỗ trợ trên Ubuntu 22.04 trở lên. Trình cài đặt sẽ cài đặt và định cấu hình tất cả chương trình cũng như tài nguyên cần thiết để chạy OmniLab ATS.

Cách sử dụng chương trình cài đặt:

  1. Chạy chương trình cài đặt:

    curl https://storage.googleapis.com/android-mtt.appspot.com/prod/install.sh | bash
    
  2. Chạy mtt version để kiểm tra phiên bản đã cài đặt của OmniLab ATS CLI.

Cài đặt thủ công

Cài đặt Docker
  1. Làm theo hướng dẫn cài đặt Docker Community Edition (CE) trên máy Linux của bạn.

  2. Làm theo các bước sau khi cài đặt để quản lý Docker với tư cách là người dùng không phải người dùng gốc.

  3. Bạn có thể cần khởi động lại cửa sổ dòng lệnh hoặc đăng xuất rồi đăng nhập lại để các thay đổi về quyền có hiệu lực.

Cài đặt Python 3

OmniLab ATS CLI yêu cầu Ubuntu 22.04 trở lên. CLI được xác minh dựa trên các phiên bản Python từ 3.10 đến 3.13.

Để cài đặt Python 3, hãy chạy các lệnh sau:

sudo apt-get update
sudo apt install python3 python3-distutils

Nếu bạn cần một phiên bản Python 3 không có trong bản phân phối chuẩn, trước tiên, hãy thêm kho lưu trữ cho Python 3 bằng cách thực hiện một trong những thao tác sau:

  • Chạy lệnh này:

    sudo add-apt-repository ppa:deadsnakes/ppa
    
  • Tạo và cài đặt kho lưu trữ từ nguồn.

Để cài đặt một phiên bản Python 3 cụ thể (ví dụ: 3.10), hãy chạy các lệnh sau:

sudo apt-get update
sudo apt install python3.10 python3.10-distutils

Tải OmniLab ATS CLI

Tải gói giao diện dòng lệnh (CLI) xuống tại đây.

Bắt đầu OmniLab ATS

Khởi động OmniLab ATS bằng lệnh sau:

mtt start

Lần đầu tiên khởi động giao diện người dùng, có thể mất vài phút để giao diện này xuất hiện. CLI sẽ hiển thị một URL cho web để truy cập vào giao diện người dùng trong trình duyệt. Theo mặc định, URL cho web là localhost:8000. Nếu cần, bạn có thể thay đổi cổng mặc định khi khởi động bằng cờ --port.

Nếu có phiên bản mới hơn, bạn có thể cập nhật lên phiên bản hiện tại. Bạn có thể xem Ghi chú phát hành để biết các bản phát hành mới nhất.

Để cập nhật lên phiên bản hiện tại, hãy chạy lệnh:

mtt start --force_update

Để dừng ứng dụng, hãy chạy:

mtt stop

Để xem danh sách các lệnh khác, hãy dùng:

mtt --help

Sao lưu và khôi phục cơ sở dữ liệu

Để sao lưu cơ sở dữ liệu OmniLab ATS, hãy dừng ứng dụng và chạy lệnh sau. Lệnh này sẽ sao lưu cơ sở dữ liệu hiện tại vào một tệp TAR có tên là mtt-backup.tar trong thư mục gốc:

docker run --rm --mount source=mtt-data,target=/data -v ~:/out ubuntu bash -c "cd /data && tar cvf /out/mtt-backup.tar ."

Để khôi phục, hãy chạy lệnh sau trước khi khởi động ứng dụng:

docker run --rm --mount source=mtt-data,target=/data -v ~:/out ubuntu bash -c "cd /data && tar xvf /out/mtt-backup.tar"

Trình hướng dẫn thiết lập

Sau khi bạn cài đặt và chạy OmniLab ATS lần đầu tiên, Trình hướng dẫn thiết lập sẽ hướng dẫn bạn thực hiện một vài bước để giúp bạn tuỳ chỉnh công cụ cho môi trường của mình. Bạn có thể định cấu hình lại mọi thay đổi mà bạn thực hiện tại đây sau này thông qua trang Cài đặt.

Khôi phục bản sao lưu cấu hình

Nếu đã sao lưu tệp cấu hình từ một máy chủ OmniLab ATS khác, bạn có thể tải tệp đó lên để sao chép mọi cấu hình đã sửa đổi từ máy chủ đó bằng cách nhấp vào nút Tải tệp lên.

Khôi phục bản sao lưu cấu hình

Hình 1. Đang khôi phục bản sao lưu cấu hình.

Đặt tài khoản dịch vụ mặc định

Bạn có thể đặt tài khoản dịch vụ mà OmniLab ATS sử dụng theo mặc định khi truy cập vào tài nguyên của bạn (ví dụ: Google Cloud Storage, Google Drive). Để xác thực tài khoản dịch vụ, hãy nhấp vào Tải khoá tài khoản dịch vụ lên rồi chọn tệp khoá JSON của tài khoản dịch vụ.

Đặt tài khoản dịch vụ

Hình 2. Đang thiết lập tài khoản dịch vụ.

Khi tài khoản dịch vụ được xác thực thành công, địa chỉ email của tài khoản sẽ xuất hiện ở góc trên cùng bên phải của trang. Để thay đổi tài khoản dịch vụ, hãy nhấp vào tên tài khoản, xoá tài khoản mặc định hiện tại rồi tải khoá tài khoản dịch vụ mới lên.

Thay đổi tài khoản dịch vụ

Hình 3. Đang thay đổi tài khoản dịch vụ.

Nhập nhóm cấu hình

Bộ cấu hình là một gói cấu hình để chạy các bộ kiểm thử, bao gồm cả các thao tác liên quan đến thiết bị và kênh bản dựng. Các nhóm cấu hình được lưu trữ trong một bộ chứa Google Cloud Storage (GCS) cụ thể. Sau khi xác thực kênh bản dựng GCS bằng Tài khoản Google, bạn sẽ thấy danh sách tất cả các nhóm cấu hình mà bạn có thể sử dụng.

Chọn bất kỳ nhóm cấu hình nào bạn muốn thêm vào máy chủ Trạm kiểm thử rồi nhấp vào Nhập mục đã chọn.

Nhập nhóm cấu hình

Hình 4. Nhập một Tập hợp cấu hình.

Bao gồm chế độ cài đặt Wi-Fi

Một số chương trình kiểm thử CTS yêu cầu thiết bị của bạn kết nối với điểm phát sóng Wi-Fi. Để chọn mạng Wi-Fi, hãy nhập SSID Wi-Fi và PSK Wi-Fi (không bắt buộc).

Cài đặt Wi-Fi

Hình 5. Cài đặt điểm phát sóng Wi-Fi.

Sau khi hoàn tất Trình hướng dẫn thiết lập, trang sẽ tải lại và áp dụng các chế độ cài đặt mới.

Kết nối thiết bị

Bạn phải bật tính năng gỡ lỗi qua USB để sử dụng thiết bị cho việc kiểm thử. Cách bật tính năng gỡ lỗi:

  1. Làm theo hướng dẫn trong phần Bật Tùy chọn cho nhà phát triển và gỡ lỗi.

  2. Nếu bạn dự định sử dụng các bản dựng Android thử nghiệm được tải sẵn khoá ADB tuỳ chỉnh, hãy đặt các tệp .adb_key tuỳ chỉnh trong thư mục ~/.android/.

    Các tệp được tải tự động và chuyển đến ADB để tự động bật tính năng gỡ lỗi qua USB sau khi thiết bị được cài đặt ROM cho các thiết bị chạy những bản dựng đó.

  3. Kết nối thiết bị với máy chủ bằng USB.

    Thiết bị sẽ xuất hiện trong thẻ Thiết bị OmniLab ATS trong vòng một phút sau khi làm mới giao diện web. Bạn cũng có thể xem trạng thái của thiết bị trên thẻ này.

    Kết nối thiết bị

    Hình 6. Đang kết nối thiết bị.

Các trạng thái khác nhau của thiết bị là:

  • Sẵn sàng – Thiết bị đã kết nối và sẵn sàng chạy thử nghiệm.
  • Allocated (Đã phân bổ) – Thiết bị đã kết nối và đang chạy một chương trình kiểm thử. Mỗi thiết bị chỉ có thể chạy một lượt kiểm thử tại một thời điểm, vì vậy, thiết bị phải hoàn tất lượt kiểm thử hiện tại trước khi chạy lượt kiểm thử mới.

Chạy thử nghiệm

Chọn một thử nghiệm

OmniLab ATS đi kèm với một bộ cấu hình CTS được đóng gói sẵn. Để chạy một trong các bài kiểm thử này, hãy chuyển đến thẻ Bộ kiểm thử rồi nhấp vào Chạy kiểm thử cho bài kiểm thử đã chọn.

Chọn một thử nghiệm

Hình 7. Chọn một thử nghiệm.

Để chỉnh sửa hoặc thêm bài kiểm thử mới, hãy xem phần Thêm bài kiểm thử.

Định cấu hình chạy kiểm thử

Chỉnh sửa các tham số để sử dụng cho lần chạy kiểm thử cụ thể này. Hầu hết các tham số đều được điền sẵn các giá trị được xác định trong cấu hình kiểm thử đã chọn.

Bạn có thể hoàn tất bước này bằng cách sử dụng các giá trị mặc định, nhưng bạn có thể thay đổi bất kỳ tham số nào, chẳng hạn như Max Retry (Số lần thử lại tối đa) và Command (Lệnh), cho phù hợp với nhu cầu của mình.

Định cấu hình chạy thử nghiệm

Hình 8. Định cấu hình chạy kiểm thử.

Các tham số chạy thử nghiệm là:

  • Name (Tên) – Tên của bộ kiểm thử mà bạn muốn chạy.
  • Số lần chạy – Số lần chạy thử nghiệm này khi được lên lịch. Các lần chạy kiểm thử được lên lịch bằng Trade Federation. Công cụ này chạy song song tối đa 20 lần chạy kiểm thử nếu có đủ dung lượng.
  • Số lần thử lại tối đa – Số lần tối đa để thử lại một lần chạy kiểm thử nếu có ít nhất một lần kiểm thử không thành công. Giá trị này thường được đặt thành 4 – 6 lần thử lại cho một lần chạy CTS đầy đủ để xử lý các kiểm thử không ổn định.
  • Hết thời gian chờ trong hàng đợi – Nếu một lần chạy kiểm thử vẫn ở trạng thái Đang chờ xử lý quá lâu, thì lần chạy đó sẽ tự động bị huỷ. Chỉ định khoảng thời gian chờ trước khi huỷ tại đây. Giá trị mặc định là 24 giờ.
  • Lệnh – Lệnh để chạy bộ kiểm thử. Bạn có thể nhập thêm các đối số dòng lệnh tại đây. Ví dụ: chạy một mô-đun cụ thể trong CTS 8.1 bằng:

    cts-suite -m ShortModuleName
    
  • Lệnh thử lại – Lệnh để thử lại một bộ kiểm thử. Bạn có thể thêm các đối số dòng lệnh bổ sung tại đây. Ví dụ: để chỉ thử lại một mô-đun cụ thể trong CTS 8.1, hãy sử dụng:

    cts --retry 0 -m ShortModuleName
    

    Đối số thử lại có thể khác với đối số có sẵn trong lệnh ban đầu, vì vậy, hãy kiểm tra các tham số được hỗ trợ trên trang web chính thức của bộ kiểm thử đã chọn.

  • Previous Test Run (Lần chạy kiểm thử trước) – Nếu bạn muốn chạy lại một lần chạy kiểm thử trước đó:

    • Cục bộ – Nếu lượt chạy được bắt đầu trên máy chủ hiện tại, hãy nhập mã lượt chạy kiểm thử mà bạn thấy khi xem thông tin chi tiết về lượt chạy kiểm thử.

      Lần chạy kiểm thử cục bộ trước đó

      Hình 9. Lần chạy kiểm thử trước đó trên máy cục bộ.

    • Từ xa – Nếu quá trình chạy được bắt đầu trên một máy chủ khác, hãy tải tệp kết quả kiểm thử lên bằng cách chọn Remote (Từ xa), nhấp vào Upload Test Results File (Tải tệp kết quả kiểm thử lên) rồi chọn một tệp trong bộ nhớ cục bộ.

      Xoá lần chạy thử nghiệm trước

      Hình 10. Xoá lần chạy kiểm thử trước đó.

Một số thiết bị chọn lọc

Nhấp vào hộp đánh dấu để chọn thiết bị cần phân bổ để chạy bộ kiểm thử. Số lượng phân đoạn sẽ tự động thay đổi để khớp với số lượng thiết bị đã chọn.

Chọn thiết bị

Hình 11. Chọn thiết bị.

Để chọn thiết bị theo các thuộc tính khác ngoài số sê-ri của thiết bị, bạn có thể nhập "Thông số kỹ thuật của thiết bị" theo cách thủ công. Ví dụ: để chọn 3 thiết bị có tên sản phẩm là "bramble", hãy nhập như sau:

product:bramble;product:bramble;product:bramble

Các thuộc tính được hỗ trợ bao gồm:

  • build_id
  • device_serial
  • device_type
  • tên máy chủ
  • sản phẩm
  • product_variant
  • sim_state

Tất cả thiết bị đã chọn phải ở trạng thái Available (Sẵn sàng) để thực thi lần chạy kiểm thử, và tất cả đều chuyển sang trạng thái Allocated (Đã phân bổ) khi lần chạy kiểm thử được thực thi. Lần chạy thử nghiệm ở trạng thái Đã đưa vào hàng đợi trong khi chờ thiết bị sẵn sàng.

Thêm hành động trên thiết bị

Hành động trên thiết bị là các tập lệnh có thể được thực thi trước mỗi lần chạy kiểm thử. Một số thao tác trên thiết bị đã được định cấu hình sẵn, chẳng hạn như cài đặt ROM và khởi động lại. Để tạo hành động mới cho thiết bị, hãy xem phần Tạo hành động mới cho thiết bị.

Hoạt động của thiết bị

Hình 12. Thao tác trên thiết bị.

Để thêm một thao tác trên thiết bị vào một lần chạy thử nghiệm, hãy nhấp vào Add new action (Thêm thao tác mới), chọn hộp đánh dấu cho các thao tác cần thêm rồi nhấp vào Add Action(s) (Thêm thao tác). Các thao tác trên thiết bị được thực hiện tuần tự. Bạn có thể sắp xếp lại các hành động bằng cách kéo chúng.

Thêm hành động

Hình 13. Đang sắp xếp lại các hành động.

Đặt tài nguyên thử nghiệm

Tài nguyên kiểm thử là các tệp cần thiết để thực thi một lần chạy kiểm thử. Ví dụ: để chạy CTS, bạn cần có tệp android-cts*.zip và để cài ROM cho thiết bị, bạn cần cung cấp hình ảnh bản dựng.

URL tải tệp zip của bộ kiểm thử xuống phải mặc định là đường liên kết đến Google Drive được cung cấp cho đối tác. Bạn có thể chọn một tệp khác bằng cách nhấp vào duyệt qua. Trong cửa sổ bật lên, bạn có thể nhập đường liên kết tải tệp xuống, sử dụng tệp từ một kênh bản dựng đã xác thực hoặc tải tệp lên để sử dụng từ bộ nhớ cục bộ.

Tài nguyên thử nghiệm

Hình 14. Tài nguyên kiểm thử.

Dưới đây là cửa sổ bật lên để chọn tài nguyên kiểm thử theo URL cho web. Bạn có thể nhập đường liên kết URL tải xuống rồi nhấp vào nút Chọn để xác nhận lựa chọn.

Test Resource Selector - Web URL

Hình 15. Test Resource Selector - Web URL.

Nếu đã tải tài nguyên lên Google Drive, Google Cloud Storage (GCS) hoặc các kênh khác, bạn cũng có thể chuyển đến thẻ của kênh cụ thể và chọn tài nguyên tại đó. Dưới đây là ví dụ về cách chọn tài nguyên trên Google Drive.

Bộ chọn tài nguyên thử nghiệm – Google Drive

Hình 16. Bộ chọn tài nguyên thử nghiệm – Google Drive.

Ngoài việc chỉ chọn tệp, các ký tự đại diện cũng được hỗ trợ trong trường Tên tệp. Bạn có thể xem tài liệu tại đây.

Bộ chọn tài nguyên kiểm thử – Hỗ trợ mẫu ký tự đại diện

Hình 17. Bộ chọn tài nguyên kiểm thử – Hỗ trợ mẫu ký tự đại diện.

Bạn cũng có thể chọn một tệp trong bộ nhớ tệp cục bộ của OmniLab ATS. Bạn có thể tải tệp lên bộ nhớ này hoặc trực tiếp sử dụng các tệp và thư mục trên thiết bị.

Test Resource Selector - Local File Store

Hình 18. Bộ chọn tài nguyên thử nghiệm – Kho lưu trữ tệp cục bộ.

Thêm cấu hình chạy lại

Bạn có thể lên lịch chạy lại sau khi quá trình chạy chính hoàn tất và tải kết quả, nhưng có thể sử dụng thiết bị, hành động hoặc tài nguyên khác.

Thêm cấu hình chạy lại

Hình 19. Thêm cấu hình chạy lại.

Bắt đầu chạy thử nghiệm

Sau khi bạn nhập thông tin cần thiết cho lần chạy thử nghiệm, hãy nhấp vào Bắt đầu chạy thử nghiệm. Nếu tất cả thông tin đều hợp lệ, thì quá trình chạy thử nghiệm sẽ bắt đầu và bạn sẽ được chuyển hướng đến một trang để xem thông tin chi tiết và tiến trình của quá trình chạy thử nghiệm.

Bắt đầu chạy thử nghiệm

Hình 20. Bắt đầu chạy thử nghiệm.

Tạo kế hoạch kiểm thử

Kế hoạch kiểm thử được dùng để tạo các lần chạy kiểm thử theo lịch định kỳ. Ví dụ: chạy CTS 9.0 mỗi ngày vào lúc 5 giờ chiều. Để tạo một kế hoạch kiểm thử mới, hãy nhấp vào Create a new test plan (Tạo kế hoạch kiểm thử mới).

Tạo kế hoạch kiểm thử

Hình 21. Tạo kế hoạch kiểm thử.

Định cấu hình kế hoạch kiểm thử

Nhập tên của kế hoạch kiểm thử và mọi nhãn bạn muốn thêm. Sau đó, chọn một lịch biểu để sử dụng.

  • Thủ công – Kế hoạch kiểm thử chỉ tạo các lần chạy kiểm thử khi người dùng nhấp vào Chạy kế hoạch kiểm thử trên trang danh sách kế hoạch kiểm thử.
  • Định kỳ – Kế hoạch kiểm thử tự động lên lịch chạy kiểm thử theo lịch định kỳ đã chọn. Ví dụ: lên lịch chạy thử nghiệm vào lúc 17:00 hằng ngày.
  • Tuỳ chỉnh – Kế hoạch kiểm thử tự động lên lịch chạy kiểm thử dựa trên biểu thức cron đã nhập. Ví dụ:để lên lịch chạy thử nghiệm hằng ngày vào lúc 5 giờ chiều, biểu thức cron là 0 17 * * *.

Định cấu hình kế hoạch kiểm thử

Hình 22. Định cấu hình kế hoạch kiểm thử.

Thêm bộ kiểm thử

Thêm bộ kiểm thử mà bạn muốn lên lịch theo kế hoạch kiểm thử bằng cách nhấp vào + Add test run configuration (+ Thêm cấu hình chạy kiểm thử). Chọn một bộ kiểm thử trong trình đơn thả xuống Tên rồi nhấp vào Bước tiếp theo. Sau đó, hãy chọn thiết bị mà bạn muốn chạy thử nghiệm rồi nhấp vào Add Configuration (Thêm cấu hình). Bạn có thể thêm nhiều cấu hình cho mỗi kế hoạch kiểm thử.

Định cấu hình chạy thử nghiệm

Hình 23. Định cấu hình chạy kiểm thử.

Thêm hành động trên thiết bị

Thêm các thao tác trên thiết bị mà bạn muốn thực hiện trước mỗi lần chạy kiểm thử. Hãy xem phần Thêm hành động trên thiết bị để biết thêm thông tin chi tiết.

Thêm hành động trên thiết bị

Hình 24. Thêm hành động trên thiết bị.

Đặt tài nguyên thử nghiệm

Việc thêm tài nguyên kiểm thử vào kế hoạch kiểm thử cũng giống như thêm tài nguyên kiểm thử vào từng lần chạy kiểm thử. Hãy xem phần Thiết lập tài nguyên kiểm thử để biết thêm thông tin.

Đặt tài nguyên thử nghiệm

Hình 25. Thiết lập tài nguyên kiểm thử.

Xem các lần chạy thử nghiệm

Danh sách lần chạy thử nghiệm

Xem danh sách các lần chạy thử nghiệm đã lên lịch trên trang Lần chạy thử nghiệm. Nhấp vào View (Xem) để xem thêm thông tin chi tiết về một lần chạy kiểm thử.

Bạn cũng có thể lọc danh sách bằng cách nhập một chuỗi vào thanh bộ lọc rồi nhấn phím Enter. Bạn có thể sử dụng nhiều bộ lọc bằng cách phân tách chúng bằng dấu phẩy. Bộ lọc trả về tất cả các hàng chứa văn bản chính xác (không khớp chuỗi con) trong bất kỳ cột nào, ngoại trừ Trạng thái và Đã tạo.

Bộ lọc trống sẽ trả về tất cả các hàng. Hiện tại, không có cách nào để lọc các hàng có giá trị trống.

Danh sách chạy thử nghiệm

Hình 26. Danh sách lần chạy thử nghiệm.

Thông tin chi tiết về lần chạy thử nghiệm

Bạn có thể xem thông tin chi tiết về một lần chạy kiểm thử tại đây, chẳng hạn như trạng thái, nhật ký và kết quả.

Thông tin chi tiết về lần chạy thử nghiệm

Hình 27. Thông tin chi tiết về lần chạy thử nghiệm.

Trạng thái chạy thử nghiệm

Tiến trình của một lần chạy kiểm thử sẽ xuất hiện trong mục Trạng thái. Nếu có thông báo liên quan, chẳng hạn như tiến trình tải xuống, lý do hủy hoặc thông báo lỗi, thì thông báo đó cũng sẽ xuất hiện tại đây.

Trạng thái chạy thử nghiệm

Hình 28. Trạng thái chạy thử nghiệm.

Các trạng thái chạy thử nghiệm là:

  • Đang chờ xử lý – Đang tải tài nguyên bắt buộc xuống.
  • Đã đưa vào hàng đợi – Thử nghiệm đã sẵn sàng chạy khi có thiết bị.
  • Đang chạy – Thử nghiệm đang chạy trên một thiết bị được phân bổ.
  • Đã hoàn tất – Thử nghiệm đã hoàn tất và báo cáo kết quả.
  • Đã huỷ – Người dùng đã huỷ thử nghiệm hoặc thử nghiệm đã hết thời gian chờ trong khi cố gắng tìm thiết bị có sẵn.
  • Lỗi – Đã xảy ra lỗi khiến thử nghiệm không chạy được.

Huỷ lần chạy thử nghiệm

Nếu lần chạy thử nghiệm chưa hoàn tất, bạn có thể huỷ bằng cách nhấp vào Cancel (Huỷ) rồi nhấp vào Yes (Có) trong hộp thoại xác nhận. Các lần chạy thử nghiệm cũng tự động bị huỷ nếu chúng vẫn ở trạng thái Queued (Đã đưa vào hàng đợi) lâu hơn trường queue_timeout_seconds. Việc huỷ một lần chạy thử nghiệm khi đang ở trạng thái Đang chạy có thể mất vài phút để có hiệu lực.

Huỷ chạy thử nghiệm

Hình 29. Huỷ một lần chạy kiểm thử.

Kết quả chạy thử nghiệm

Sau khi chạy thử nghiệm xong, kết quả sẽ được thu thập và hiển thị. Bạn có thể xem thêm thông tin chi tiết bằng cách nhấp vào mũi tên cho mỗi lần chạy. Nhấp vào View Output Files (Xem tệp đầu ra) để xem các cấu phần phần mềm thử nghiệm đã thu thập, chẳng hạn như test_result.xml và test_result_failures.html.

Kết quả chạy thử nghiệm

Hình 30. Kết quả chạy thử nghiệm.

Bạn có thể xem nhật ký máy chủ và Tradefed trực tiếp trong thẻ Nhật ký.

Nhật ký chạy thử nghiệm

Hình 31. Thẻ Nhật ký.

Kết quả cho từng mô-đun nằm trên thẻ Kết quả kiểm thử.

Thẻ Kết quả kiểm thử

Hình 32. Thẻ Kết quả kiểm tra.

Bạn có thể tải các tệp được dùng làm tài nguyên kiểm thử xuống bằng cách nhấp vào Mở trong thẻ Tài nguyên kiểm thử.

Thẻ Tài nguyên thử nghiệm

Hình 33. Thẻ Tài nguyên thử nghiệm.

Để xem thông tin chi tiết về lần chạy thử nghiệm, chẳng hạn như create_time, hãy chuyển đến thẻ Cấu hình.

Thẻ Cấu hình kiểm thử

Hình 34. Thẻ Cấu hình.

Các tính năng nâng cao

Quản lý tệp cấu hình

OmniLab ATS sử dụng các tệp cấu hình được viết bằng YAML để tải các tuỳ chọn được xác định trước như kiểm thử, kênh bản dựng và hành động của thiết bị. Dưới đây là tệp cấu hình mẫu:

// example_file.yaml
tests:
- id : android.cts.9_0.arm
  name: CTS 9.0 (ARM)
  test_resource_defs:
  - name: android-cts.zip
    default_download_url: https://dl.google.com/dl/android/cts/android-cts-9.0_r7-linux_x86-arm.zip
    test_resource_type: TEST_PACKAGE
  command: cts
  env_vars:
  - name: TF_PATH
    value: ${TF_WORK_DIR}/android-cts/tools:${TF_WORK_DIR}/android-cts/testcases
  - name: LD_LIBRARY_PATH
    value: ${TF_WORK_DIR}/android-cts/lib:${TF_WORK_DIR}/android-cts/lib64
  setup_scripts:
  output_file_patterns:
  - android-cts/logs/latest/.*
  - android-cts/results/latest/.*\.html
  - android-cts/results/latest/compatibility_result\..*
  - android-cts/results/latest/logo.png
  - android-cts/results/latest/test_result.xml
  result_file: test_result.xml
  java_properties:
  - name: CTS_ROOT
    value: ${TF_WORK_DIR}
  context_file_dir: android-cts/results/
  context_file_pattern: '[\d_\.]+\.zip'
  retry_command_line: retry --retry 0
  runner_sharding_args: --shard-count ${TF_SHARD_COUNT}

build_channels:
- id: google_drive
  name: Google Drive
  provider_name: Google Drive

device_actions:
- id: flash
  name: Flash
  test_resource_defs:
  - name: bootloader.img
    test_resource_type: DEVICE_IMAGE
  - name: radio.img
    test_resource_type: DEVICE_IMAGE
  - name: img.zip
    test_resource_type: DEVICE_IMAGE
  tradefed_target_preparers:
  - class_name: com.android.tradefed.targetprep.RunHostCommandTargetPreparer
    option_values:
    - name: work-dir
      values:
      - ${TF_WORK_DIR}
    - name: host-setup-command
      values:
      - adb -s $SERIAL reboot-bootloader
      - fastboot -s $SERIAL flash bootloader bootloader.img
      - fastboot -s $SERIAL flash radio radio.img
      - fastboot -s $SERIAL reboot-bootloader
      - fastboot -s $SERIAL -w update img.zip
      - adb -s $SERIAL wait-for-device
    - name: host-cmd-timeout
      values:
      - 10m

Khi thiết lập phiên bản OmniLab ATS, bạn có thể chia sẻ cấu hình của mình với người dùng khác bằng cách xuất cấu hình dưới dạng tệp. Để thực hiện việc này, hãy chuyển đến trang Cài đặt rồi nhấp vào Xuất ở trên cùng bên phải.

Quản lý tệp cấu hình

Hình 35. Quản lý tệp cấu hình.

Sau khi tải tệp cấu hình xuống, hãy chia sẻ tệp đó với những người dùng khác. Họ có thể thêm tệp cấu hình vào phiên bản OmniLab ATS bằng cách nhấp vào Import (Nhập) rồi chọn tệp cấu hình.

Tạo một hành động mới trên thiết bị

Thao tác trên thiết bị được dùng để tự động hoá quy trình thiết lập thiết bị. Hành động là các tập lệnh được thực thi trên mỗi thiết bị mà thử nghiệm đang chạy trước mỗi lần chạy thử nghiệm, bao gồm cả trước khi thử lại. Để xem danh sách các thao tác có thể thực hiện trên thiết bị, hãy chuyển đến trang Cài đặt rồi nhấp vào thẻ Thao tác trên thiết bị. Một số thao tác trên thiết bị đã được định cấu hình, chẳng hạn như khởi động lại và cài đặt ROM.

Thẻ Hoạt động của thiết bị

Hình 36. Thẻ Hoạt động của thiết bị.

Thêm hành động mới cho thiết bị

  1. Nhấp vào Hành động mới trên thiết bị.

    Nút hành động trên thiết bị mới

    Hình 37. Nút hành động mới trên thiết bị.

  2. Nhập tên và nội dung mô tả.

    Tên hành động trên thiết bị

    Hình 38. Tên hành động trên thiết bị.

  3. Nhấp vào Thêm người chuẩn bị mục tiêu.

  4. Nhập tên lớp đầy đủ của Trình chuẩn bị mục tiêu Trade Federation, ví dụ: com.android.tradefed.targetprep.RunHostCommandTargetPreparer.

    Thêm người chuẩn bị mục tiêu

    Hình 39. Thêm người chuẩn bị mục tiêu.

    Bạn có thể xem danh sách các trình chuẩn bị mục tiêu có sẵn trong tài liệu tham khảo com.android.tradefed.targetprep.

    Danh sách người chuẩn bị mục tiêu

    Hình 40. Danh sách Người khai thuế mục tiêu.

  5. Thêm bất kỳ tuỳ chọn nào để sử dụng với trình chuẩn bị mục tiêu. Để xem các tuỳ chọn có sẵn, hãy kiểm tra targetprep để biết mã nguồn cho từng trình chuẩn bị mục tiêu trong AOSP:

    Ví dụ về lựa chọn hành động

    Hình 41. Ví dụ về lựa chọn hành động.

  6. Để thêm một lựa chọn, hãy nhấp vào Thêm lựa chọn cho người chuẩn bị mục tiêu rồi nhập các giá trị bắt buộc.

    Ví dụ về lệnh hành động

    Hình 42. Ví dụ về lệnh hành động.

  7. Xác định tài nguyên kiểm thử cần thiết để thực thi hành động trên thiết bị, ví dụ: tạo bản dựng hình ảnh để cài đặt ROM. Để thêm định nghĩa tài nguyên, hãy nhấp vào Add Test Resource (Thêm tài nguyên thử nghiệm) rồi điền vào các trường bắt buộc. Nếu biết vị trí của tệp, bạn có thể cung cấp URL tải xuống mặc định bằng cách nhấp vào duyệt qua. Nếu trình chuẩn bị mục tiêu chấp nhận thư mục làm tài nguyên kiểm thử, hãy chọn Giải nén. Sau đó, hãy chỉ định thư mục Destination (Đích) tương đối trong thư mục làm việc tạm thời và File Names (Tên tệp) cần giải nén. Nếu không có tên tệp nào được cung cấp, thì tất cả tệp sẽ được giải nén từ tài nguyên kiểm thử.

    Tài nguyên thử nghiệm hành động

    Hình 43. Tài nguyên kiểm thử hành động.

  8. Nhấp vào Cập nhật.

    Lưu thay đổi

    Hình 44. Lưu thay đổi về hành động.

Quản lý thử nghiệm

Chỉnh sửa thử nghiệm

Để chỉnh sửa một thử nghiệm đã lưu, hãy chuyển đến trang Thử nghiệm rồi nhấp vào Chỉnh sửa trên hàng của thử nghiệm mà bạn muốn sửa đổi. Sau khi thay đổi cấu hình kiểm thử, hãy nhấp vào Cập nhật.

Chỉnh sửa thử nghiệm

Hình 45. Đang chỉnh sửa thử nghiệm.

Thêm thử nghiệm mới

Để thêm một thử nghiệm mới, hãy chuyển đến trang Thử nghiệm rồi nhấp vào Tạo thử nghiệm mới. Nhập thông tin thích hợp rồi nhấp vào Tạo.

Tạo thử nghiệm

Hình 46. Đang tạo thử nghiệm.

Sao chép bài kiểm tra

Hình 47. Sao chép một chương trình kiểm thử.

Xuất cấu hình của người tổ chức

Sau khi định cấu hình máy chủ, bạn có thể xuất cấu hình của máy chủ sang một tệp. Bạn có thể tải tệp này lên các máy chủ khác để sao chép cấu hình đã lưu.

Để xuất cấu hình của máy chủ lưu trữ, hãy chuyển đến trang Cài đặt rồi nhấp vào Xuất ở góc trên cùng bên phải.

Đang xuất cấu hình máy chủ lưu trữ

Hình 48. Xuất cấu hình máy chủ.

Để nhập tệp cấu hình máy chủ, hãy chuyển đến trang Cài đặt rồi nhấp vào Nhập ở góc trên cùng bên phải.

Đang nhập cấu hình máy chủ lưu trữ

Hình 49. Đang nhập cấu hình máy chủ.

Sử dụng tệp và thư mục trên thiết bị

Kể từ phiên bản R11, các tệp trong thư mục $HOME/.ats_storage sẽ tự động truy cập được trong OmniLab ATS. Sao chép hoặc di chuyển tệp vào thư mục đó, sau đó bạn có thể chọn tệp đó trong thẻ Local File (Tệp cục bộ) khi lên lịch chạy thử nghiệm.

cp /path/to/file $HOME/.ats_storage

Chọn tệp trên thiết bị

Hình 50. Chọn một tệp trong thư mục $HOME/.ats_storage.

Bạn có thể gắn thêm các thư mục vào kho lưu trữ tệp cục bộ bằng cờ --mount_local_path.

mtt start --mount_local_path=/path/to/dir1 --mount_local_path=/path/to/dir2:renamed_dir2

Thư mục được gắn thêm

Hình 51. Các thư mục bổ sung được gắn vào kho lưu trữ tệp cục bộ.

Bật chế độ nhiều người tổ chức

Với chế độ Nhiều máy chủ, người dùng có thể sử dụng một máy chủ điều khiển ATS duy nhất để quản lý các thiết bị và kiểm thử trên nhiều máy chủ thực thi ATS.

Kiến trúc chế độ nhiều máy chủ lưu trữ

Hình 52. Kiến trúc chế độ nhiều máy chủ.

  1. Để khởi động bộ điều khiển ATS, hãy dùng lệnh sau:

    mtt start --operation_mode=ON_PREMISE
    
  2. Kiểm tra xem có thể truy cập vào bộ điều khiển tại http://${CONTROLLER_HOSTNAME}:8000 hay không.

  3. Để khởi động worker, hãy dùng lệnh sau:

    mtt start --control_server_url=http://CONTROLLER_HOSTNAME:8000 --operation_mode=ON_PREMISE
    

Nếu mạng của bạn không cho phép các máy chủ giao tiếp với nhau, bạn cần làm theo hướng dẫn thiết lập nâng cao hơn dưới đây về trình thực thi ATS.

  1. Kết nối hai máy chủ bằng đường hầm SSH. Chọn cổng cho cổng máy chủ chính và cổng máy chủ tệp, ví dụ: 9000 và 9006.

    ssh -L ATS_PORT:localhost:8000 -L FS_PORT:localhost:8006 CONTROLLER_HOSTNAME
    
  2. Định cấu hình và bắt đầu ATS.

    DOCKER_GATEWAY_IP_ADDRESS=$(ip -4 addr show dev docker0 | grep -Eo 'inet [.0-9]+/' | grep -Eo '[.0-9]+')
    socat tcp-listen:ATS_PORT,bind="${DOCKER_GATEWAY_IP_ADDRESS}",reuseaddr,fork tcp-connect:127.0.0.1:ATS_PORT &
    socat tcp-listen:FS_PORT,bind="${DOCKER_GATEWAY_IP_ADDRESS}",reuseaddr,fork tcp-connect:127.0.0.1:FS_PORT &
    mtt start --control_server_url=http://${DOCKER_GATEWAY_IP_ADDRESS}:ATS_PORT \
                    --control_file_server_url=http://${DOCKER_GATEWAY_IP_ADDRESS}:FS_PORT \
                    --operation_mode=ON_PREMISE
    

Trình dọn dẹp tệp

Trình dọn dẹp tệp là một dịch vụ chạy ngầm theo thời gian định trước, chạy hằng giờ để dọn dẹp tệp dựa trên cấu hình do người dùng xác định. ATS có hai cấu hình mặc định để lưu trữ kết quả chạy thử nghiệm và xoá tệp tạm thời. Hướng dẫn này giải thích cách tuỳ chỉnh các chính sách và cấu hình để quản lý tệp một cách hiệu quả.

Chính sách

Chính sách xác định thao tác cần thực hiện trên tệp hoặc thư mục và tiêu chí để chọn mục tiêu. Các thao tác có thể thực hiện được trình bày trong bảng:

Loại toán tửTham số
ARCHIVEremove_file: Nếu true, hãy xoá tệp sau khi lưu trữ.
DELETE

Tiêu chí dựa trên thuộc tính tệp và thông tin hệ thống. Các tiêu chí hiện có được trình bày trong bảng:

Loại tiêu chíMô tảTham số
LAST_MODIFIED_TIMELọc tệp dựa trên ngày và giờ sửa đổi gần đây nhất.ttl: Hỗ trợ nhiều loại biểu thức thời gian, ví dụ: 10m, 2h, 7 days, 4w. Hãy xem pytimeparse để biết các định dạng được hỗ trợ.
LAST_ACCESS_TIMELọc tệp dựa trên ngày và giờ truy cập gần đây nhất.Tương tự như LAST_MODIFIED_TIME.
NAME_MATCHLọc tệp dựa trên tên tệp bằng biểu thức chính quy.pattern: Biểu thức chính quy, ví dụ: [a-f0-9]{8}-([a-f0-9]{4}-){3}[a-f0-9]{12}\.zip để khớp với tệp zip kết quả.
SYSTEM_AVAILABLE_SPACEKích hoạt các hành động dựa trên dung lượng còn trống trên hệ thống.threshold: Kích hoạt hành động khi dung lượng còn trống giảm xuống dưới ngưỡng, ví dụ: 200(B), 200KB, 200MB, 200GB, 2TB.

Chính sách mới về trình dọn dẹp tệp

Hình 53. Thêm chính sách mới về trình dọn dẹp tệp.

Cấu hình

Cấu hình kết hợp một hoặc nhiều chính sách với các thư mục cụ thể. Các tệp và thư mục trong thư mục được chỉ định sẽ được xử lý dựa trên các chính sách đã xác định. Các chính sách được áp dụng theo thứ tự xuất hiện trong cấu hình.

Tất cả thư mục đích phải nằm trong thư mục /data. Nếu cấu hình của bạn chỉ định thư mục đích là logs, thì thư mục đó sẽ được diễn giải là /data/logs.

Chỉnh sửa cấu hình trình dọn dẹp tệp

Hình 54. Chỉnh sửa cấu hình trình dọn dẹp tệp.

Đặt lại

Khi bạn nhấp vào Reset Settings (Đặt lại chế độ cài đặt), cấu hình trình dọn dẹp tệp sẽ được khôi phục về trạng thái mặc định. Thao tác này sẽ xoá TẤT CẢ các mục tuỳ chỉnh.

Đặt lại chế độ cài đặt của trình dọn dẹp tệp

Hình 55. Đặt lại chế độ cài đặt của trình dọn dẹp tệp.

Hỗ trợ

Báo cáo lỗi

Ý kiến đóng góp của bạn cho OmniLab ATS giúp cải thiện quá trình phát triển công cụ này và chúng tôi rất mong nhận được ý kiến đóng góp của bạn! Hãy xem ghi chú phát hành OmniLab ATS để biết thông tin chi tiết về bản phát hành mới nhất. Để báo cáo lỗi hoặc đưa ra đề xuất, hãy gửi báo cáo lỗi. Đối tác nên báo cáo lỗi hoặc đề xuất thông qua các kênh dành cho đối tác.