Trạm kiểm thử Android OmniLab

OmniLab ATS là một công cụ kiểm thử mà các nhà phát triển Android và kỹ sư kiểm thử có thể dùng để triển khai 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 (CTS) với Android. 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)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 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 kiểm thử.

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 cho OmniLab ATS, nhưng bạn nên bắt đầu bằng yêu cầu máy chủ lưu trữ CTS.

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

Cài đặt bằng chương 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 OmniLab ATS CLI đã cài đặt.

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à quản trị viên.

  3. Bạn có thể phải 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 được xác minh dựa trên Python phiên bản 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 làm theo một trong những cách 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.

Khởi động 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 người dùng xuất hiện. CLI hiển thị một URL web để truy cập vào giao diện người dùng trong trình duyệt. Theo mặc định, URL 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:

mtt stop

Để xem danh sách các lệnh khác, hãy sử 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 để sao lưu cơ sở dữ liệu hiện tại vào tệp TAR có tên mtt-backup.tar trong thư mục gốc 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 Cài đặt

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ẽ đưa bạn qua 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. Sau này, bạn có thể định cấu hình lại mọi thay đổi mình thực hiện tại đây thông qua trang Cài đặt.

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

Nếu có một tệp cấu hình được sao lưu từ một máy chủ lưu trữ ATS OmniLab 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ể đặt 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 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ụ của bạn, 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 cho tài khoản dịch vụ của bạn.

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

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

Khi xác thực thành công tài khoản dịch vụ, đị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. Thay đổi tài khoản dịch vụ.

Nhập nhóm 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à 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 mà bạn muốn thêm vào máy chủ của Trạm kiểm thử rồi nhấp vào Import Selected (Nhập các mục đã chọn).

Nhập tập hợp cấu hình

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

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

Một số thử nghiệm CTS yêu cầu thiết bị của bạn kết nối với một đ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. 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ới chế độ cài đặt mới được áp dụng.

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 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 khoá ADB tuỳ chỉnh, hãy đặt các tệp .adb_key tuỳ chỉnh vào thư mục ~/.android/.

    Các tệp này đượ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 bản dựng đó.

  3. Kết nối thiết bị với máy chủ lưu trữ qua USB.

    Thiết bị sẽ xuất hiện trong thẻ Thiết bị ATS OmniLab 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 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ác trạng thái thiết bị sau:

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

Chạy thử nghiệm

Chọn một bài kiểm thử

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 những kiểm thử này, hãy chuyển đến thẻ Bộ kiểm thử rồi nhấp vào Run test (Chạy kiểm thử) cho kiểm thử đã chọn.

Chọn một bài kiểm thử

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

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

Định cấu hình quá trì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 thông số đều được điền sẵn bằng 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. Tuy nhiên, bạn có thể thay đổi bất kỳ tham số nào, chẳng hạn như Max Thử lạiCommand, cho phù hợp với nhu cầu của mình.

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

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

Các tham số chạy kiểm thử 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 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 Liên kết thương mại. Quá trình này sẽ chạy tối đa 20 kiểm thử chạy song song nếu có khả năng thực hiệ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ượt kiểm thử không thành công. Thông thường, bạn nên đặt giá trị này thành 4–6 lần thử lại cho một lần chạy CTS đầy đủ để xử lý các thử nghiệm không ổn định.
  • Quá 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 Đã đưa vào hàng đợi 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 các đối số dòng lệnh bổ sung 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
    

    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.

  • 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 quá trình chạy đã bắt đầu trên máy chủ hiện tại, hãy nhập mã lần chạy kiểm thử nhìn thấy khi xem thông tin chi tiết về lần chạy kiểm thử đó.

      Chạy kiểm thử cục bộ trước

      Hình 9. Chạy kiểm thử cục bộ trước đó.

    • 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 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 trước đó từ xa

      Hình 10. Lần chạy kiểm thử từ xa trước đó.

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ổ cho việc 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ị được 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 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 nội dung 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 Có sẵn để thực thi lần chạy kiểm thử, đồng thời tất cả thiết bị sẽ chuyển sang trạng thái Đã phân bổ khi lần chạy kiểm thử được thực thi. Một lần chạy kiểm thử sẽ ở trạng thái Đã xếp hàng trong khi chờ thiết bị có sẵn.

Thêm thao tác 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, chẳng hạn như cài đặt ROM và khởi động lại. Để tạo các thao tác mới trên thiết bị, hãy xem phần Tạo thao tác mới trên thiết bị.

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

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

Để thêm một hành động trên thiết bị vào một lần chạy kiểm thử, hãy nhấp vào Add new action (Thêm hành động mới), chọn các hộp đánh dấu của các thao tác cần thêm rồi nhấp vào Add Action(s) (Thêm hành động). 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 thứ tự 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 hành động.

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

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à việc cài đặt ROM cho thiết bị sẽ 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ử sẽ 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. Kiểm thử tài nguyên.

Dưới đây là cửa sổ bật lên để chọn tài nguyên kiểm thử theo URL 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 kiểm thử – URL web

Hình 15. Bộ chọn tài nguyên kiểm tra – URL 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ể rồi 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.

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

Hình 16. Trình chọn tài nguyên kiểm thử – Google Drive.

Ngoài việc chỉ chọn tệp, trường Tên tệp cũng hỗ trợ các ký tự đại diện. 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. Kiểm thử bộ chọn tài nguyên – 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ộ.

Trình chọn tài nguyên kiểm thử – Local File Store

Hình 18. Trình chọn tài nguyên kiểm thử – Kho 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 bắt đầu 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 kiểm thử

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

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

Hình 20. Bắt đầu chạy kiểm 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 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 Run test plan (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 chương trình kiểm thử theo lịch định kỳ đã chọn. Ví dụ:lên lịch chạy kiểm thử hằng ngày lúc 5 giờ 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 kiểm thử hằng ngày 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 các 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 + 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 đó, chọn thiết bị mà bạn muốn chạy kiểm thử trên đó 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 quy trình chạy kiểm thử

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

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

Thêm các hành động 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 hành động trên thiết bị để biết thêm thông tin chi tiết.

Thêm hành động của thiết bị

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

Đặt tài nguyên kiểm thử

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

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

Danh sách chạy kiểm thử

Xem danh sách các lần chạy kiểm thử theo lịch trên trang 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 các bộ lọc đó bằng dấu phẩy. Bộ lọc này trả về tất cả các hàng chứa văn bản chính xác (không khớp với 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, 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 chạy thử nghiệm.

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

Bạn có thể xem thông tin chi tiết về 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 kiểm thử.

Trạng thái chạy kiểm thử

Tiến trình của một lần 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 tại đây.

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

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

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

  • Đang chờ xử lý – 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 – Quy trình kiểm thử đang chạy trên một thiết bị được phân bổ.
  • Đã hoàn tất – Quá trình kiểm thử đã hoàn tất và báo cáo kết quả.
  • Đã huỷ – Người dùng đã huỷ thử nghiệm hoặc 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 kiểm thử không chạy được.

Huỷ chạy kiểm thử

Nếu quá trình chạy kiểm thử chưa hoàn tất, bạn có thể huỷ quá trình đó 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 kiểm thử cũng sẽ tự động bị huỷ nếu chúng vẫn ở trạng thái Đã xếp hàng đợi lâu hơn trường queue_timeout_seconds. Việc huỷ một lần chạy kiểm thử 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ử nghiệm

Hình 29. Huỷ chạy kiểm thử.

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

Sau khi chạy một chương trình kiểm thử, 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 Xem tệp đầu ra để xem các cấu phần phần mềm kiểm thử được thu thập, chẳng hạn như test_result.xmltest_result_failures.html.

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

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

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

Kiểm thử nhật ký chạy

Hình 31. 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 tra

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

Bạn có thể tải các tệp 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 kiểm thử, chẳng hạn như create_time, hãy chuyển đến thẻ Cấu hình.

Thẻ Cấu hình thử nghiệm

Hình 34. Thẻ Config (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 trên 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 thực thể 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 truy cập trang Settings (Cài đặt) và nhấp vào Export (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 người dùng khác. Họ có thể thêm tệp cấu hình vào thực thể 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ị

Hành động 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à kiểm thử đang chạy trước mỗi lần chạy kiểm thử, bao gồm cả trước khi thử lại. Để xem danh sách các thao tác hiện có trên thiết bị, hãy chuyển đến trang Cài đặt và nhấp vào thẻ Hành động 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ẻ Hành động trên thiết bị

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

Thêm một 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 mới trên thiết bị

    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 trình 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 Trình chuẩn bị mục tiêu

    Hình 39. Thêm một trình chuẩn bị mục tiêu.

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

    Danh sách trình chuẩn bị mục tiêu

    Hình 40. Danh sách Trình chuẩn bị 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ề tuỳ chọn hành động

    Hình 41. Ví dụ về tuỳ chọn hành động.

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

    Ví dụ về lệnh thao tác

    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 hành động trên thiết bị, ví dụ: tạo hình ảnh để cài đặt ROM. Để thêm đị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 các 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 browse (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 Đích tương đối trong thư mục làm việc tạm thời và 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, 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.

    Thao tác lưu các thay đổi

    Hình 44. Thao tác lưu các thay đổi.

Quản lý thử nghiệm

Chỉnh sửa thử nghiệm

Để chỉnh sửa một bài kiểm thử đã lưu, hãy chuyển đến trang Kiểm thử rồi nhấp vào Chỉnh sửa trên hàng của bài kiểm thử 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. Chỉnh sửa bài kiểm thử.

Thêm thử nghiệm mới

Để thêm thử nghiệm mới, hãy truy cập trang Thử nghiệm và 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 kiểm thử

Hình 46. Tạo kiểm thử.

Sao chép kiểm thử

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

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

Sau khi định cấu hình máy chủ lưu trữ, bạn có thể xuất cấu hình của máy chủ lưu trữ đó sang 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áy chủ lưu trữ, hãy truy cập trang Cài đặt và 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. Đang xuất mộ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ủ lưu trữ

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

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ẽ được truy cập tự động 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 kiểm thử.

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

Chọn 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 bộ nhớ 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 bộ nhớ tệp cục bộ.

Bật chế độ nhiều máy chủ lưu trữ

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ủ thực thi 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 sử dụng lệnh sau:

    mtt start --operation_mode=ON_PREMISE
    
  2. Có thể truy cập vào bộ điều khiển của tính năng kiểm tra tại http://${CONTROLLER_HOSTNAME}:8000.

  3. Để bắt đầu worker, hãy sử 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 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 về worker ATS.

  1. Kết nối 2 máy chủ này bằng đường hầm SSH. Chọn các 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 công việc cron 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ó hai cấu hình mặc định để lưu trữ kết quả chạy kiểm thử 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 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 toán tử có sẵn được hiển thị trong bảng:

Loại thao tácTham số
ARCHIVEremove_file: Nếu là 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í có sẵn được hiển thị 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 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 mã zip kết quả.
SYSTEM_AVAILABLE_SPACEKích hoạt hành động dựa trên không gian có sẵn trên hệ thống.threshold: Kích hoạt hành động khi không gian có sẵn 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

Một 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 mục tiêu phải nằm trong thư mục /data. Nếu cấu hình của bạn chỉ định thư mục mục tiêu là logs, thì thư mục đó sẽ được diễn giải là /data/logs.

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

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

Đặt lại

Thao tác nhấp vào Đặt lại chế độ cài đặt sẽ chuyển cấu hình trình dọn dẹp tệp 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 các chế độ cài đặt làm sạch 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

Ý 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 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 nội dung đề xuất qua kênh đối tác.