Trước tiên, hãy đảm bảo bạn hiểu rõ về tính năng Xử lý tuỳ chọn trong Tradefed.
Thiết lập bộ ứng dụng mô tả hai lớp tồn tại trong cấu trúc bộ ứng dụng:
- Bộ công cụ cấp cao nhất
- Các mô-đun
Trong bối cảnh Thương mại không theo bộ, bạn không cần phải suy nghĩ; mỗi vào lệnh gọi đầy đủ. Trong ngữ cảnh bộ, các mô-đun được lưu giữ tách biệt với bộ công cụ; vì vậy, không phải lựa chọn nào đều có sẵn ở cấp độ của họ.
Truyền các tuỳ chọn đến bộ cấp cao nhất
Bộ ứng dụng cấp cao nhất hoạt động như cấu hình Tradefeed tiêu chuẩn: phiên bản đầy đủ bao gồm trình chạy bộ nhận được tất cả các tuỳ chọn như cấu hình Thương mại không phải của phần mềm.
Truyền các tuỳ chọn vào mô-đun
Theo mặc định, các mô-đun không nhận được bất kỳ tuỳ chọn nào được truyền đến lệnh.
Họ cần được nhắm mục tiêu rõ ràng để nhận được các lựa chọn thông qua
Tuỳ chọn module-arg
. Việc tách biệt các tuỳ chọn mô-đun này giúp gỡ lỗi dễ dàng hơn.
Ví dụ:
cts-tradefed run cts --module-arg <module-name>:<option-name>:<option-value>
cts-tradefed run cts --module-arg CtsGestureTestCases:collect-tests-only:true
Cú pháp đảm bảo rằng mô-đun được nhắm mục tiêu sẽ nhận được tuỳ chọn đã cho.
Có thêm một số cách để truyền tuỳ chọn đến các mô-đun như test-arg
, cho phép bạn truyền tuỳ chọn đến trình chạy kiểm thử của mỗi mô-đun dựa trên loại hoặc lớp trình chạy.
Ví dụ:
cts-tradefed run cts --test-arg <test-class>:<option-name>:<option-value>
cts-tradefed run cts --test-arg com.android.tradefed.testtype.JarHosttest:collect-tests-only:true
Cú pháp không nhắm đến một mô-đun cụ thể mà nhắm đến tất cả trình chạy kiểm thử
của lớp đã cho. test-arg
chỉ xem xét các cách triển khai của
IRemoteTest
làm người nhận tiềm năng cho các lựa chọn.
Truyền các tuỳ chọn vào một lớp kiểm thử Java trong java_test_host
Nếu bạn đang thêm @Option
vào lớp kiểm thử java như một phần của
java_test_host với mục tiêu bản dựng, bạn sẽ cần sử dụng đoạn mã sau để chèn
tuỳ chọn:
cts-tradefed run cts --module-arg <module-name>:set-option:<option-name>:<option-value>
set-option trong ngữ cảnh này là tuỳ chọn của trình chạy HostTest trong khai thác kiểm thử bao bọc lớp java để thực thi các lớp đó.
nếu mục tiêu tệp jar của bạn cho các tùy chọn chứa nhiều lớp kiểm thử, theo mặc định, tất cả các thẻ này đều được chỉ định @option hoặc sử dụng sau đây để nhắm đến một lớp:
cts-tradefed run cts --module-arg <module-name>:set-option:<class-name>:<option-name>:<option-value>
Truyền bộ lọc đến bộ công cụ
Để lọc một số thử nghiệm từ một bộ, chúng ta sử dụng --include-filter
và
--exclude-filter
để buộc bao gồm hoặc loại trừ một thử nghiệm cụ thể tương ứng
hoặc mô-đun. Tính năng loại trừ có mức độ ưu tiên.
Các tệp này sử dụng định dạng sau: [abi] <module-name> [test name]
Ví dụ:
--include-filter CtsGestureTestCases
--include-filter armeabi-v7a CtsGestureTestCases
--include-filter armeabi-v7a CtsGestureTestCases android.gesture.cts.GestureTest#testGetStrokes