OmniLab Android Test Station

OmniLab ATS là một công cụ kiểm thử mà nhà phát triển Android và kỹ sư kiểm thử có thể dùng để sử 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 thử tính tương thích (CTS) với Android. Công cụ này hoạt động như một giao diện web cho nhiều khung kiểm thử, chẳng hạn như Trade Federation (TF)Google Mobly, cho phép bạn chạy CTS và các kiểm thử trên nhiều thiết bị trên một nhóm thiết bị kiểm thử với chế độ 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 các kiểm thử.

Thiết lập ATS OmniLab

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 các 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 nào khác 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 bắt đầu.

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

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

Trên Ubuntu 20.04 trở lên, chương trình cài đặt sẽ cài đặt và định cấu hình tất cả các chương trình và 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 theo cách 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.

  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 là người dùng root.

  3. Bạn có thể phải khởi động lại cửa sổ thiết bị đầu cuối 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

CLI OmniLab ATS được xác minh dựa trên các phiên bản Python từ 3.7 đến 3.11.

Đối với Ubuntu 16.04 trở xuống, 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 Python 3, hãy chạy các lệnh sau:

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

Để 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 ATS OmniLab

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

mtt start

Lần đầu tiên giao diện người dùng khởi độ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 trên web để truy cập vào giao diện người dùng trong trình duyệt. Theo mặc định, URL trang 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:

mtt start --force_update

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

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 chính của bạn:

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 thông qua trang Cài đặt sau này.

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

Nếu có tệp cấu hình được sao lưu 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. 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ể thiết lập một tài khoản dịch vụ mà OmniLab ATS sử dụng theo mặc định khi truy cập vào các 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ụ.

Thiết lập tài khoản dịch vụ

Hình 2. 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 và 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. Thay đổi tài khoản dịch vụ.

Nhập các bộ cấu hình

Tập hợp 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à các kênh bản dựng. Các bộ 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 bộ cấu hình mà bạn có thể sử dụng.

Chọn mọi nhóm cấu hình mà bạn muốn thêm vào máy chủ Test Station rồi nhấp vào Nhập mục đã chọn.

Nhập bộ cấu hình

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

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

Một số 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-FiPSK Wi-Fi (không bắt buộc).

Cài đặt Wi-Fi

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

Sau khi bạn 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 USB để sử dụng thiết bị cho mục đích 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 tuỳ 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 kiểm thử được tải sẵn bằng các 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 này sẽ tự động tải và chuyển đến ADB để tự động bật tính năng gỡ lỗi qua USB sau khi thiết bị được flash 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ủ lưu trữ bằng USB.

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

    Kết nối thiết bị

    Hình 6. Kết nối thiết bị.

Các trạng thái thiết bị có thể là:

  • Đã kết nối – Thiết bị đã kết nối và sẵn sàng chạy một kiểm thử.
  • Đã phân bổ – Thiết bị đã kết nối và đang chạy một 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 một lượt kiểm thử mới.

Chạy thử nghiệm

Chọn một bài kiểm tra

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 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 kiểm thử đã chọn.

Chọn một chương trình kiểm thử

Hình 7. Chọn một bài kiểm tra.

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

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

Chỉnh sửa các thông số để sử dụng cho lần chạy thử nghiệm 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 các chương trình kiểm thử

Hình 8. Định cấu hình một lần chạy thử nghiệm.

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

  • Tên – Tên của bộ thử nghiệm mà bạn muốn chạy.
  • Số lần chạy – Số lần chạy kiểm thử này sẽ được thực thi khi được lên lịch. Các lần chạy kiểm thử được lên lịch bằng Trade Federation. Nền tảng này có thể chạy song song tối đa 20 lần 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 thử nếu có ít nhất một thử nghiệm 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 thử nghiệm ở trạng thái Đã xếp hàng 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ộ thử nghiệm. Bạn có thể nhập thêm đố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 cách:

    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
    

    Các đối số thử lại có thể khác với các đố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.

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

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

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

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

    • Từ xa – Nếu quá trình chạy được bắt đầu trên một máy chủ lưu trữ khác, hãy tải tệp kết quả kiểm thử lên bằng cách chọn Từ xa, nhấp vào 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ộ.

      Chạy thử nghiệm từ xa trước đó

      Hình 10. Xoá lần chạy thử nghiệm trước đó từ xa.

Chọn thiết bị

Nhấp vào hộp đánh dấu để chọn các 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

Sau đây là các thuộc tính được hỗ trợ:

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

Tất cả các thiết bị đã chọn phải ở trạng thái Available (Đang có) để thực thi lượt kiểm thử và tất cả các thiết bị đó sẽ chuyển sang trạng thái Allocated (Đã phân bổ) khi lượt kiểm thử được thực thi. Một lần chạy thử ở trạng thái Đã xếp hàng trong khi chờ các thiết bị có sẵn.

Thêm các thao tác trên thiết bị

Thao tác trên thiết bị là những 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ư nhấp nháy 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. Hoạt động của thiết bị.

Để thêm một thao tác trên thiết bị vào một lần chạy thử, hãy nhấp vào 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 Thêm(các) 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. Sắp xếp lại các thao tác.

Thiết lập tài nguyên thử nghiệm

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

URL tải xuống cho tệp zip của bộ kiểm thử phải mặc định là các đường liên kết 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ừ 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 kiểm thử

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 của trang 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.

Trình chọn tài nguyên thử nghiệm – URL web

Hình 15. Trình chọn tài nguyên thử nghiệm – URL trang web.

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 ở đó. Sau đây là ví dụ về cách chọn một tài nguyên trên Google Drive.

Trình chọn tài nguyên thử nghiệm – Google Drive

Hình 16. Test Resource Selector – 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.

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

Hình 17. Trình 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 cục bộ.

Test Resource Selector – Local File Store

Hình 18. Test Resource Selector – Local file store (Trình 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 lần chạy chính hoàn tất và tải kết quả của lần chạy đó, nhưng có thể sử dụng thiết bị, thao tác 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ử

Sau khi bạn nhập thông tin cần thiết cho lần chạy thử, hãy nhấp vào Bắt đầu chạy thử. Nếu tất cả thông tin đều hợp lệ, quá trình chạy thử 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ử.

Bắt đầu chạy thử

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

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 kế hoạch kiểm thử mới, hãy nhấp vào 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 mà bạn muốn thêm. Sau đó, hãy 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ử trong 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 mỗi ngày vào lúc 5:00 chiều.
  • 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ử mỗi ngày vào lúc 5:00 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 các bộ kiểm thử mà bạn muốn được 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 Name (Tên) rồi nhấp vào Next step (Bước tiếp theo). Sau đó, hãy chọn các thiết bị mà bạn muốn chạy kiểm thử 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 các chương trình kiểm thử

Hình 23. Định cấu hình một lần chạy thử nghiệm.

Thêm các thao tác trên thiết bị

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

Thêm thao tác trên thiết bị

Hình 24. Thêm các thao tác trên thiết bị.

Thiết lập 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ư việc thêm tài nguyên đó vào các lần chạy kiểm thử riêng lẻ. Hãy xem phần Thiết lập tài nguyên kiểm thử để biết thêm thông tin chi tiết.

Thiết lập tài nguyên kiểm thử

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

Xem các lần chạy thử

Danh sách chạy thử

Xem danh sách các lần chạy kiểm thử theo lịch trên trang Test Runs (Lần chạy kiểm thử). Nhấp vào 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 này trả về tất cả các hàng có 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Đã tạo.

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

Danh sách chạy thử

Hình 26. Danh sách chạy thử.

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

Bạn có thể xem thông tin chi tiết về một lần chạy 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ử

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

Trạng thái chạy thử

Tiến trình chạy kiểm thử sẽ xuất hiện trong phần 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 huỷ hoặc thông báo lỗi, thì thông báo đó cũng sẽ xuất hiện ở đây.

Trạng thái chạy thử

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

Các trạng thái chạy kiểm thử là:

  • Đang chờ xử lý – Các tài nguyên bắt buộc đang được tải xuống.
  • Đã xếp hàng – Kiểm thử đã 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 chưa hoàn tất quá trình chạy thử, bạn có thể huỷ bằng cách nhấp vào Huỷ rồi nhấp vào trong hộp thoại xác nhận. Các lần chạy thử cũng sẽ tự động bị huỷ nếu vẫn ở trạng thái Đã xếp hàng lâu hơn trường queue_timeout_seconds. Việc huỷ một lần chạy thử nghiệm khi ở trạng thái Đang chạy có thể mất vài phút để có hiệu lực.

Huỷ chạy thử

Hình 29. Huỷ một lượt chạy thử.

Kết quả chạy thử

Sau khi chạy thử 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 từng lần chạy. Nhấp vào 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.xmltest_result_failures.html.

Kết quả chạy thử

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

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

Nhật ký chạy thử

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 thử.

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 kiểm thử

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

Để 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 lựa chọn được xác định trước, chẳng hạn như kiểm thử, tạo kênh và hành động của thiết bị. Dưới đây là một ví dụ về tệp cấu hình:

// 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 những người dùng khác bằng cách xuất cấu hình đó dưới dạng tệp. Để làm 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 của mình 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 thao tác mới trên thiết bị

Các thao tác trên thiết bị được dùng để tự động hoá quy trình thiết lập thiết bị. Các thao tác là tập lệnh được thực thi trên mỗi thiết bị mà hoạt động kiểm thử đang chạy trước mỗi lượt kiểm thử, kể cả trước các lần 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 sẵn, chẳng hạn như khởi động lại và nhấp nháy.

Thẻ Hành động trên thiết bị

Hình 36. Thẻ Hành động trên thiết bị.

Thêm một thao tác mới cho thiết bị

  1. Nhấp vào Thao tác mới trên thiết bị.

    Nút Thao tác trên thiết bị mới

    Hình 37. Nút thao tác trên thiết bị mới.

  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 đầy đủ của lớp Trade Federation Target Preparer, 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 chuẩn bị mục tiêu.

  5. Thêm mọi lựa chọn để sử dụng với trình chuẩn bị mục tiêu. Để xem các lựa chọn hiện có, hãy kiểm tra targetprep để biết mã nguồn của từng trình chuẩn bị mục tiêu trong AOSP:

    Ví dụ về lựa chọn thao tác

    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 về 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 các tài nguyên kiểm thử cần thiết để thực thi thao tác trên thiết bị, chẳng hạn như tạo hình ảnh để cài đặt ROM. Để thêm một định nghĩa tài nguyên, hãy nhấp vào Thêm tài nguyên kiểm thử 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. 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 Decompress (Giải nén). Sau đó, hãy chỉ định thư mục Đích đến tương đối trong thư mục đang hoạt động tạm thời và Tên tệp cần giải nén. Nếu bạn không cung cấp tên tệp, tất cả các tệp sẽ được giải nén từ tài nguyên kiểm thử.

    Tài nguyên kiểm thử 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 các thay đổi

    Hình 44. Hành động lưu nội dung thay đổi.

Quản lý kiểm thử

Chỉnh sửa một bài kiểm tra

Để 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 một bài kiểm tra

Hình 45. Chỉnh sửa một bài kiểm tra.

Thêm một kiểm thử mới

Để thêm một bài kiểm tra mới, hãy chuyển đến trang Kiểm tra rồi nhấp vào Tạo bài kiểm tra mới. Nhập thông tin phù hợp rồi nhấp vào Tạo.

Tạo bài kiểm tra

Hình 46. Tạo bài kiểm tra.

Sao chép bài kiểm tra

Hình 47. Sao chép một bài kiểm tra.

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

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

Để xuất cấu hình của một 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.

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

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

Để nhập tệp cấu hình máy chủ lưu trữ, 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.

Nhập cấu hình máy chủ

Hình 49. Nhập cấu hình máy chủ lưu trữ.

Sử dụng tệp và thư mục cục 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 một tệp vào thư mục đó, sau đó bạn có thể chọn tệp đó trong thẻ Tệp cục bộ khi lên lịch chạy thử.

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

Chọn một tệp cục 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

Các thư mục được gắn bổ sung

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

Bật chế độ nhiều người dùng

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

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

Hình 52. Cấu trúc chế độ nhiều máy chủ lưu trữ.

  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 bộ điều khiển có thể truy cập được tại http://${CONTROLLER_HOSTNAME}:8000 hay không.

  3. Để khởi động các 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ủ lưu trữ 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 bên dưới trên ATS worker.

  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à khởi động 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 tác vụ định kỳ chạy hằng giờ để dọn dẹp các tệp dựa trên cấu hình do người dùng xác định. ATS có 2 cấu hình mặc định để lưu trữ kết quả chạy thử và xoá các 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

Một chính sách xác định thao tác sẽ được thực hiện trên các 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 thao tácTham số
ARCHIVEremove_file: Nếu true, hãy xoá tệp sau khi lưu trữ.
DELETE

Các tiêu chí này dựa trên thuộc tính tệp và thông tin hệ thống. Các tiêu chí có sẵn đượ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: Nhiều loại biểu thức thời gian được hỗ trợ, 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 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 mã zip của kết quả.
SYSTEM_AVAILABLE_SPACEKích hoạt các thao tác dựa trên dung lượng trống trên hệ thống.threshold: Kích hoạt hành động khi dung lượng 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 các 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ả cá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 này 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 Đặt lại chế độ cài đặt, cấu hình của 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 trình dọn dẹp tệp

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

Hỗ trợ

Báo cáo lỗi

Sự đóng góp của bạn cho OmniLab ATS sẽ 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 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.