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) 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 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:
- Mã nguồn OmniLab ATS
- Mã nguồn TradeFed Cluster
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:
- Chạy chương trình cài đặt.
- Cài đặt theo cách thủ công. Thao tác này yêu cầu 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
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:
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 OmniLab ATS CLI đã cài đặt.
Cài đặt theo cách 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.
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.
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.
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.
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.
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).
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-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ớ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:
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.
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 đó.
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.
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.
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ại và Command, cho phù hợp với nhu cầu của mình.
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ử đó.
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ộ.
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.
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ị.
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.
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ộ.
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.
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.
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.
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ộ.
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.
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ử.
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.
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 * * *
.
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ử.
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.
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.
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 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 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ả.
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.
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 Có 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.
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.xml
và test_result_failures.html
.
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ý.
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ử.
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ử.
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.
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.
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.
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ị
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 trình 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 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.
Hình 40. Danh sách Trình chuẩn bị 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ề tuỳ chọn hành động.
Để 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.
Hình 42. Ví dụ về lệnh hành động.
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ử.
Hình 43. Tài nguyên kiểm thử hành động.
Nhấp vào Cập nhật.
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.
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.
Hình 46. Tạo 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.
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.
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
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
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.
Hình 52. Cấu trúc chế độ nhiều máy chủ lưu trữ.
Để khởi động bộ điều khiển ATS, hãy sử dụng lệnh sau:
mtt start --operation_mode=ON_PREMISE
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
.Để 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.
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
Đị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ác | Tham số |
---|---|
ARCHIVE | remove_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_TIME | Lọ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_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 mã zip kết quả. |
SYSTEM_AVAILABLE_SPACE | Kí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 . |
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
.
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.
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.