ShardListener

public class ShardListener
extends CollectingTestListener implements ISupportGranularResults

java.lang.Object
   ↳ com.android.tradefed.result.CollectingTestListener
     ↳ com.android.tradefed.invoker.ShardListener


Một ITestInvocationListener thu thập kết quả từ một phân đoạn lệnh gọi (còn gọi là lệnh gọi được chia để chạy song song trên nhiều tài nguyên) và chuyển tiếp các kết quả đó đến một trình nghe khác.

Tóm tắt

Hàm khởi tạo công khai

ShardListener(ITestInvocationListener main)

Tạo ShardListener.

Phương thức công khai

List<ITestInvocationListener> getUnderlyingResultReporter()
void invocationEnded(long elapsedTime)

Báo cáo rằng lời gọi đã chấm dứt, cho dù thành công hay do một số điều kiện lỗi.

void invocationFailed(FailureDescription failure)

Báo cáo một lệnh gọi chưa hoàn chỉnh do một số điều kiện lỗi.

void invocationFailed(Throwable cause)

Báo cáo một lệnh gọi chưa hoàn chỉnh do một số điều kiện lỗi.

void invocationSkipped(SkipReason reason)

Báo cáo một lệnh gọi là đã bỏ qua

void invocationStarted(IInvocationContext context)

Báo cáo thời điểm bắt đầu lệnh gọi kiểm thử.

void logAssociation(String dataName, LogFile logFile)

Trong một số trường hợp, nhật ký phải được liên kết chặt chẽ với các trường hợp kiểm thử, nhưng không thể thực hiện việc này trên lệnh gọi lại testLogSaved(String,LogDataType,InputStreamSource,LogFile) trực tiếp.

void setSupportGranularResults(boolean enableGranularResults)
boolean supportGranularResults()

Trả về True nếu trình báo cáo hỗ trợ kết quả chi tiết, trả về false trong trường hợp ngược lại.

void testLog(String dataName, LogDataType dataType, InputStreamSource dataStream)

Cung cấp nhật ký hoặc dữ liệu gỡ lỗi được liên kết từ lệnh gọi kiểm thử.

void testLogSaved(String dataName, LogDataType dataType, InputStreamSource dataStream, LogFile logFile)

void testModuleEnded()

Báo cáo thời điểm kết thúc một lần chạy mô-đun.

void testModuleStarted(IInvocationContext moduleContext)

Báo cáo thời điểm bắt đầu chạy một mô-đun.

void testRunEnded(long elapsedTime, HashMap<String, MetricMeasurement.Metric> runMetrics)

Báo cáo thời điểm kết thúc một lần chạy kiểm thử.

void testRunFailed(FailureDescription failure)

Không hoàn tất được quá trình chạy thử báo cáo do lỗi được mô tả bằng FailureDescription.

void testRunFailed(String failureMessage)

Không thể hoàn tất quá trình chạy thử báo cáo do gặp lỗi nghiêm trọng.

void testRunStarted(String name, int numTests, int attemptNumber, long startTime)

Báo cáo thời điểm bắt đầu một lần chạy kiểm thử.

Hàm khởi tạo công khai

ShardListener

public ShardListener (ITestInvocationListener main)

Tạo ShardListener.

Tham số
main ITestInvocationListener: ITestInvocationListener mà kết quả sẽ được chuyển tiếp. Để tránh xung đột với các ShardListener khác, đối tượng này sẽ đồng bộ hoá trên main khi chuyển tiếp kết quả. Và kết quả sẽ chỉ được gửi sau khi phân đoạn lệnh gọi hoàn tất.

Phương thức công khai

getUnderlyingResultReporter

public List<ITestInvocationListener> getUnderlyingResultReporter ()

Giá trị trả về
List<ITestInvocationListener>

invocationEnded

public void invocationEnded (long elapsedTime)

Báo cáo rằng lời gọi đã chấm dứt, cho dù thành công hay do một số điều kiện lỗi.

Sẽ được khung TradeFederation tự động gọi.

Tham số
elapsedTime long: thời gian đã trôi qua của lệnh gọi (tính bằng mili giây)

invocationFailed

public void invocationFailed (FailureDescription failure)

Báo cáo một lệnh gọi chưa hoàn chỉnh do một số điều kiện lỗi.

Sẽ được khung TradeFederation tự động gọi.

Tham số
failure FailureDescription: FailureDescription mô tả nguyên nhân gây ra lỗi

invocationFailed

public void invocationFailed (Throwable cause)

Báo cáo một lệnh gọi chưa hoàn chỉnh do một số điều kiện lỗi.

Sẽ được khung TradeFederation tự động gọi.

Tham số
cause Throwable: nguyên nhân Throwable gây ra lỗi

invocationSkipped

public void invocationSkipped (SkipReason reason)

Báo cáo một lệnh gọi là đã bỏ qua

Tham số
reason SkipReason

invocationStarted

public void invocationStarted (IInvocationContext context)

Báo cáo thời điểm bắt đầu lệnh gọi kiểm thử.

Sẽ được khung TradeFederation tự động gọi. Người báo cáo cần ghi đè phương thức này để hỗ trợ báo cáo trên nhiều thiết bị.

Tham số
context IInvocationContext: thông tin về lệnh gọi

logAssociation

public void logAssociation (String dataName, 
                LogFile logFile)

Trong một số trường hợp, nhật ký phải được liên kết chặt chẽ với các trường hợp kiểm thử, nhưng không thể thực hiện việc này trên lệnh gọi lại testLogSaved(String,LogDataType,InputStreamSource,LogFile) trực tiếp. Do đó, lệnh gọi lại này cho phép cung cấp một mối liên kết rõ ràng một cách tường minh.

Tham số
dataName String: Tên của dữ liệu

logFile LogFile: LogFile đã được ghi nhật ký trước đó và phải được liên kết với trường hợp kiểm thử.

setSupportGranularResults

public void setSupportGranularResults (boolean enableGranularResults)

Tham số
enableGranularResults boolean

supportGranularResults

public boolean supportGranularResults ()

Trả về True nếu trình báo cáo hỗ trợ kết quả chi tiết, trả về false trong trường hợp ngược lại.

Giá trị trả về
boolean

testLog

public void testLog (String dataName, 
                LogDataType dataType, 
                InputStreamSource dataStream)

Cung cấp nhật ký hoặc dữ liệu gỡ lỗi được liên kết từ lệnh gọi kiểm thử.

Phải được gọi trước ERROR(ITestInvocationListener.invocationFailed(Throwable)/ITestInvocationListener#invocationFailed(java.lang.Throwable) ITestInvocationListener.invocationFailed(Throwable)) hoặc ERROR(/ITestInvocationListener#invocationEnded(long))

Khung TradeFederation sẽ tự động gọi phương thức này, cung cấp nhật ký máy chủ lưu trữ và nếu có thể, nhật ký logcat của thiết bị.

Tham số
dataName String: tên mô tả String của dữ liệu. Ví dụ: "device_logcat". Lưu ý: dataName có thể không phải là duy nhất cho mỗi lệnh gọi. tức là người triển khai phải có thể xử lý nhiều lệnh gọi có cùng dataName

dataType LogDataType: LogDataType của dữ liệu

dataStream InputStreamSource: InputStreamSource của dữ liệu. Người triển khai nên gọi createInputStream để bắt đầu đọc dữ liệu và đảm bảo đóng InputStream kết quả khi hoàn tất. Phương thức gọi phải đảm bảo nguồn dữ liệu vẫn hiện diện và có thể truy cập cho đến khi phương thức testLog hoàn tất.

testLogSaved

public void testLogSaved (String dataName, 
                LogDataType dataType, 
                InputStreamSource dataStream, 
                LogFile logFile)

Tham số
dataName String

dataType LogDataType

dataStream InputStreamSource

logFile LogFile

testModuleEnded

public void testModuleEnded ()

Báo cáo thời điểm kết thúc một lần chạy mô-đun.

testModuleStarted

public void testModuleStarted (IInvocationContext moduleContext)

Báo cáo thời điểm bắt đầu chạy một mô-đun. Lệnh gọi lại này được liên kết với testModuleEnded() và không bắt buộc trong chuỗi. Thao tác này chỉ được dùng trong quá trình chạy sử dụng các mô-đun: trình chạy dựa trên bộ.

Tham số
moduleContext IInvocationContext: IInvocationContext của mô-đun.

testRunEnded

public void testRunEnded (long elapsedTime, 
                HashMap<String, MetricMeasurement.Metric> runMetrics)

Báo cáo thời điểm kết thúc một lần chạy kiểm thử. FIXME: Chúng ta không thể có hai giao diện Map<> có kiểu khác nhau, vì vậy, chúng ta phải sử dụng HashMap ở đây.

Tham số
elapsedTime long: thiết bị đã báo cáo thời gian đã trôi qua, tính bằng mili giây

runMetrics HashMap: các cặp khoá-giá trị được báo cáo ở cuối một lần chạy kiểm thử bằng Metric.

testRunFailed

public void testRunFailed (FailureDescription failure)

Không hoàn tất được quá trình chạy thử báo cáo do lỗi được mô tả bằng FailureDescription.

Tham số
failure FailureDescription: FailureDescription mô tả lỗi và ngữ cảnh của lỗi đó.

testRunFailed

public void testRunFailed (String failureMessage)

Không thể hoàn tất quá trình chạy thử báo cáo do gặp lỗi nghiêm trọng.

Tham số
failureMessage String: String mô tả lý do khiến lần chạy không thành công.

testRunStarted

public void testRunStarted (String name, 
                int numTests, 
                int attemptNumber, 
                long startTime)

Báo cáo thời điểm bắt đầu một lần chạy kiểm thử.

Tham số
name String: tên của lần chạy kiểm thử

numTests int: tổng số kiểm thử trong lần chạy kiểm thử

attemptNumber int: số thứ tự, xác định các lần thử khác nhau của cùng một runName chạy nhiều lần. attemptNumber được lập chỉ mục từ 0 và sẽ tăng lên mỗi khi có một lần chạy mới. Ví dụ: Một bài kiểm thử được thử lại chi tiết 3 lần, thì bài kiểm thử đó sẽ có tổng cộng 4 lần chạy trong cùng một runName và attemptNumber sẽ từ 0 đến 3.

startTime long: thời gian bắt đầu chạy, được đo bằng System.currentTimeMillis()