Trình thu thập báo cáo lỗi

public class BugreportCollector
extends Object implements ITestInvocationListener

java.lang.Object
com.android.tradefed.result.BugreportCollector


Một ITestInvocationListener truyền qua thu thập các báo cáo lỗi khi xảy ra các sự kiện có thể định cấu hình và sau đó gọi ITestInvocationListener#testLog trên các phần tử con của nó sau khi mỗi báo cáo lỗi được thu thập.

Hành vi: (FIXME: hoàn thành việc này)

  • Ghi lại sau mỗi lần kiểm thử nếu có trường hợp thử nghiệm nào thất bại
  • Chụp sau mỗi testcase
  • Ghi lại sau mỗi testcase thất bại
  • Chiếm lấy

Bản tóm tắt

Các lớp lồng nhau

class BugreportCollector.Predicate

Vị từ đầy đủ mô tả thời điểm ghi lại báo cáo lỗi.

interface BugreportCollector.SubPredicate

Lĩnh vực

public static final BugreportCollector.Predicate AFTER_FAILED_TESTCASES

Một vị từ được xác định trước sẽ kích hoạt sau mỗi trường hợp thử nghiệm thất bại

public static final BugreportCollector.Predicate AT_START

Một vị từ được xác định trước sẽ kích hoạt khi lệnh gọi đầu tiên bắt đầu

Nhà thầu xây dựng công cộng

BugreportCollector ( ITestInvocationListener listener, ITestDevice testDevice)

Phương pháp công cộng

void addPredicate ( BugreportCollector.Predicate p)
void blockUntilIdle ()

Chặn cho đến khi người thu thập không thu thập bất kỳ báo cáo lỗi nào.

TestSummary getSummary ()

Cho phép InvocationListener trả về một bản tóm tắt.

void invocationEnded (long elapsedTime)

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

void invocationFailed (Throwable cause)

Báo cáo lệnh gọi không đầy đủ do một số tình trạng lỗi.

void invocationStarted ( IInvocationContext context)

Báo cáo sự bắt đầu của lệnh gọi thử nghiệm.

void setAsynchronous (boolean asynchronous)

Đặt xem bộ sưu tập báo cáo lỗi có nên thu thập báo cáo lỗi trong một chuỗi khác hay không ( asynchronous = true ) hoặc chặn người gọi cho đến khi báo cáo lỗi được ghi lại ( asynchronous = false ).

void setDescriptiveName (String name)

Đặt tên mô tả để sử dụng khi ghi lại báo cáo lỗi.

void setDeviceWaitTime (int waitTime)

Đặt thời gian (tính bằng giây) để đợi thiết bị Trực tuyến trước khi chúng tôi cố gắng ghi lại báo cáo lỗi.

void testAssumptionFailure ( TestDescription test, String trace)

Được gọi khi một bài kiểm tra nguyên tử đánh dấu rằng nó giả định một điều kiện sai

void testEnded ( TestDescription test, testMetrics) testEnded ( TestDescription test, testMetrics)

Báo cáo kết thúc thực hiện của một trường hợp thử nghiệm riêng lẻ.

void testFailed ( TestDescription test, String trace)

Báo cáo sự thất bại của một trường hợp thử nghiệm riêng lẻ.

void testIgnored ( TestDescription test)

Được gọi khi thử nghiệm không được chạy, thường là do phương thức thử nghiệm được chú thích bằng org.junit.Ignore.

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

Cung cấp nhật ký liên quan hoặc dữ liệu gỡ lỗi từ lệnh gọi thử nghiệm.

void testRunEnded (long elapsedTime, runMetrics) testRunEnded (long elapsedTime, runMetrics)

Báo cáo kết thúc quá trình chạy thử.

void testRunFailed (String errorMessage)

Báo cáo chạy thử không hoàn tất được do có lỗi nghiêm trọng.

void testRunStarted (String runName, int testCount)

Báo cáo việc bắt đầu chạy thử.

void testRunStopped (long elapsedTime)

Báo cáo quá trình chạy thử đã dừng trước khi hoàn thành do yêu cầu của người dùng.

void testStarted ( TestDescription test)

Báo cáo sự bắt đầu của một trường hợp thử nghiệm riêng lẻ.

Lĩnh vực

SAU_FAILED_TESTCASES

public static final BugreportCollector.Predicate AFTER_FAILED_TESTCASES

Một vị từ được xác định trước sẽ kích hoạt sau mỗi trường hợp thử nghiệm thất bại

AT_START

public static final BugreportCollector.Predicate AT_START

Một vị từ được xác định trước sẽ kích hoạt khi lệnh gọi đầu tiên bắt đầu

Nhà thầu xây dựng công cộng

Trình thu thập báo cáo lỗi

public BugreportCollector (ITestInvocationListener listener, 
                ITestDevice testDevice)

Thông số
listener ITestInvocationListener

testDevice ITestDevice

Phương pháp công cộng

thêm vị từ

public void addPredicate (BugreportCollector.Predicate p)

Thông số
p BugreportCollector.Predicate

chặnUntilIdle

public void blockUntilIdle ()

Chặn cho đến khi người thu thập không thu thập bất kỳ báo cáo lỗi nào. Nếu người thu thập không tích cực thu thập báo cáo lỗi, hãy quay lại ngay lập tức

lấyTóm tắt

public TestSummary getSummary ()

Cho phép InvocationListener trả về một bản tóm tắt.

Trả lại
TestSummary TestSummary tóm tắt quá trình chạy hoặc null

lời mờiĐã kết thúc

public void invocationEnded (long elapsedTime)

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

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

Thông số
elapsedTime long : thời gian trôi qua của lệnh gọi tính bằng ms

lời gọi không thành công

public void invocationFailed (Throwable cause)

Báo cáo lệnh gọi không đầy đủ do một số tình trạng lỗi.

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

Thông số
cause Throwable : nguyên nhân Throwable của sự cố

lời gọiBắt đầu

public void invocationStarted (IInvocationContext context)

Báo cáo sự bắt đầu của lệnh gọi thử nghiệm.

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

Thông số
context IInvocationContext : thông tin về lời gọi

setKhông đồng bộ

public void setAsynchronous (boolean asynchronous)

Đặt xem bộ sưu tập báo cáo lỗi có nên thu thập báo cáo lỗi trong một chuỗi khác hay không ( asynchronous = true ) hoặc chặn người gọi cho đến khi báo cáo lỗi được ghi lại ( asynchronous = false ).

Thông số
asynchronous boolean

setDescriptiveName

public void setDescriptiveName (String name)

Đặt tên mô tả để sử dụng khi ghi lại báo cáo lỗi. Nếu null , BugreportCollector sẽ quay lại hành vi mặc định là sắp xếp theo thứ tự tên của sự kiện khiến báo cáo lỗi được thu thập.

Thông số
name String

setDeviceWaitTime

public void setDeviceWaitTime (int waitTime)

Đặt thời gian (tính bằng giây) để đợi thiết bị Trực tuyến trước khi chúng tôi cố gắng ghi lại báo cáo lỗi. Nếu âm tính, sẽ không có kiểm tra nào được thực hiện. Mọi ngoại DeviceNotAvailableException gặp phải trong quá trình kiểm tra này sẽ được ghi lại và bỏ qua.

Thông số
waitTime int

kiểm traGiả địnhThất bại

public void testAssumptionFailure (TestDescription test, 
                String trace)

Được gọi khi một bài kiểm tra nguyên tử đánh dấu rằng nó giả định một điều kiện sai

Thông số
test TestDescription : xác định bài kiểm tra

trace String : dấu vết lỗi của ngăn xếp

kiểm traĐã kết thúc

public void testEnded (TestDescription test, 
                 testMetrics)

Báo cáo kết thúc thực hiện của một trường hợp thử nghiệm riêng lẻ.

Nếu testFailed(TestDescription, FailureDescription) không được gọi thì thử nghiệm này đã đạt. Đồng thời trả về bất kỳ số liệu khóa/giá trị nào có thể được phát ra trong quá trình thực thi trường hợp kiểm thử.

Thông số
test TestDescription : xác định bài kiểm tra

testMetrics : ERROR(/Map) của số liệu được phát ra

thử nghiệm thất bại

public void testFailed (TestDescription test, 
                String trace)

Báo cáo sự thất bại của một trường hợp thử nghiệm riêng lẻ.

Sẽ được gọi giữa testStarted và testEnded.

Thông số
test TestDescription : xác định bài kiểm tra

trace String : dấu vết lỗi của ngăn xếp

kiểm traBỏ qua

public void testIgnored (TestDescription test)

Được gọi khi thử nghiệm không được chạy, thường là do phương thức thử nghiệm được chú thích bằng org.junit.Ignore.

Thông số
test TestDescription : xác định bài kiểm tra

nhật ký kiểm tra

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

Cung cấp nhật ký liên quan hoặc dữ liệu gỡ lỗi từ lệnh gọi thử nghiệm.

Phải được gọi trước ERROR(/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ủ và logcat thiết bị, nếu có.

Thông 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ó khả năng xử lý nhiều cuộc gọi với cùng một tên dữ liệu

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. Người gọi phải đảm bảo nguồn dữ liệu vẫn hiện diện và có thể truy cập được cho đến khi phương thức testLog hoàn tất.

thử nghiệmChạyĐã kết thúc

public void testRunEnded (long elapsedTime, 
                 runMetrics)

Báo cáo kết thúc quá trình chạy thử. CỐ ĐỊNH: Chúng tôi không thể có hai giao diện Map<> với loại khác nhau, vì vậy chúng tôi phải sử dụng HashMap tại đây.

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

runMetrics : các cặp khóa-giá trị được báo cáo khi kết thúc quá trình chạy thử nghiệm với Metric .

thử nghiệm Chạy không thành công

public void testRunFailed (String errorMessage)

Báo cáo chạy thử không hoàn tất được do có lỗi nghiêm trọng.

Thông số
errorMessage String : String mô tả lý do chạy thất bại.

thử nghiệmChạyBắt đầu

public void testRunStarted (String runName, 
                int testCount)

Báo cáo việc bắt đầu chạy thử.

Thông số
runName String : tên chạy thử

testCount int : tổng số bài kiểm tra trong lần chạy thử

thử nghiệmRunStopped

public void testRunStopped (long elapsedTime)

Báo cáo quá trình chạy thử đã dừng trước khi hoàn thành do yêu cầu của người dùng.

TODO: hiện chưa được sử dụng, hãy cân nhắc việc xóa

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

thử nghiệmBắt đầu

public void testStarted (TestDescription test)

Báo cáo sự bắt đầu của một trường hợp thử nghiệm riêng lẻ. Giao diện cũ hơn, nên sử dụng testStarted(com.android.tradefed.result.TestDescription) bất cứ khi nào có thể.

Thông số
test TestDescription : xác định bài kiểm tra