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:
- Mã nguồn OmniLab ATS
- Mã nguồn Cụm TradeFed
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:
- Chạy chương trình cài đặt.
- Cài đặt theo cách thủ công, tức là bạn phải cài đặt nhiều chương trình và tài nguyên.
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:
Chạy chương trình cài đặt:
curl https://storage.googleapis.com/android-mtt.appspot.com/prod/install.sh | bash
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
Làm theo hướng dẫn cài đặt Docker Community Edition (CE) trên máy Linux của bạn.
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.
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 updatesudo 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 updatesudo 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.
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ụ.
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.
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.
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).
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:
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.
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_keytuỳ 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 đó.
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.
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.
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.
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 ShortModuleNameLệ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ử.
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ộ.
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.
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ị.
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.
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ộ.
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.
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.
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.
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ị.
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.
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.
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).
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 * * *.
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ử.
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.
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.
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.
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ả.
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.
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.
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.
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ý.
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ử.
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ử.
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.
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.
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.
Hình 36. Thẻ Hoạt động của thiết bị.
Thêm hành động mới cho thiết bị
Nhấp vào Hành động mới trên thiết bị.
Hình 37. Nút hành động mới trên thiết bị.
Nhập tên và nội dung mô tả.
Hình 38. Tên hành động trên thiết bị.
Nhấp vào Thêm người chuẩn bị mục tiêu.
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.
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.
Hình 40. Danh sách Người khai thuế mục tiêu.
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:
Hình 41. Ví dụ về lựa chọn hành động.
Để 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.
Hình 42. Ví dụ về lệnh hành động.
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ử.
Hình 43. Tài nguyên kiểm thử hành động.
Nhấp vào Cập nhật.
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.
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.
Hình 46. Đang tạo thử nghiệm.
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.
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.
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
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
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.
Hình 52. Kiến trúc chế độ nhiều máy chủ.
Để khởi động bộ điều khiển ATS, hãy dùng lệnh sau:
mtt start --operation_mode=ON_PREMISEKiểm tra xem có thể truy cập vào bộ điều khiển tại
http://${CONTROLLER_HOSTNAME}:8000hay không.Để 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.
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Đị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ố |
|---|---|
ARCHIVE | remove_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_TIME | Lọ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_TIME | Lọ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_MATCH | Lọ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_SPACE | Kí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. |
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.
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.
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.