Trang này mô tả các kiến thức cơ bản về cách triển khai trình báo cáo kết quả mới và định cấu hình trình báo cáo đó cho một kiểm thử.
Giao diện chính
Để xác định trình báo cáo kết quả mới trong Tradefed, một lớp phải triển khai giao diện ITestInvocationListener
cho phép nhận và xử lý các giai đoạn khác nhau của lệnh gọi:
invocationStarted
invocationEnded
invocationFailed
Trình báo cáo kết quả cũng xử lý các giai đoạn khác nhau của mỗi lần chạy kiểm thử:
testRunStarted
testStarted
testFailed
hoặctestIgnored
testEnded
testRunFailed
testRunEnded
Với tất cả các sự kiện này, có hai loại trình báo cáo kết quả chính, đó là:
- Bạn chỉ nên quan tâm đến việc báo cáo kết quả hoàn chỉnh cuối cùng.
- Xử lý một phần kết quả.
Trình báo cáo kết quả báo cáo kết quả hoàn chỉnh cuối cùng
Đây là trường hợp phổ biến nhất khi tương tác với
dịch vụ nhận kết quả. Người báo cáo chỉ nhận và tích luỹ
kết quả rồi gửi tất cả trên invocationEnded
đến điểm cuối kết quả.
Thay vào đó, những người báo cáo đó nên mở rộng CollectingTestListener
của giao diện cơ sở để tránh phải triển khai lại thao tác lưu và lưu trữ
kết quả cho đến invocationEnded
.
Trình báo cáo kết quả báo cáo một phần kết quả
Loại này thường được sử dụng cho phương pháp phân luồng kết quả khi kết quả sẽ được nhận và đẩy tới một số nơi khác ngay lập tức. Ví dụ: một trình báo cáo ghi nhật ký kết quả vào bảng điều khiển sẽ thuộc loại này.
Đây là loại dành riêng cho loại xử lý được yêu cầu đối với các sự kiện. vì vậy, triển khai giao diện cơ sở thường là cách được đề xuất.
Cấu hình XML
Thẻ đối tượng là result_reporter
. Ví dụ:
<result_reporter class="com.android.tradefed.result.ConsoleResultReporter">
<option name="suppress-passed-tests" value="true"/>
</result_reporter>