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 sẽ thu thập các báo cáo lỗi khi các sự kiện có thể định cấu hình xảy ra và sau đó gọi ITestInvocationListener#testLog trên các phần tử con của nó sau mỗi báo cáo lỗi được thu thập.

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

  • Chụp lại sau mỗi nếu có bất kỳ trường hợp thử nghiệm nào không thành công
  • Capture sau mỗi testcase
  • Capture 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 không thành công

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 công cộng

BugreportCollector ( ITestInvocationListener listener, ITestDevice testDevice)

Phương thức công khai

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ời gọi đã kết thúc, cho dù thành công hay do một số điều kiện lỗi.

void invocationFailed (Throwable cause)

Báo cáo một lệnh gọi không đầy đủ do một số điều kiện lỗi.

void invocationStarted ( IInvocationContext context)

Báo cáo bắt đầu yêu cầu 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 luồng khác ( 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 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 thử nghiệm nguyên tử báo hiệ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 cá nhân.

void testIgnored ( TestDescription test)

Được gọi khi không chạy thử nghiệm, thường là do phương pháp 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 chạy thử.

void testRunFailed (String errorMessage)

Báo cáo chạy thử nghiệm không thể hoàn thành do một lỗi nghiêm trọng.

void testRunStarted (String runName, int testCount)

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

void testRunStopped (long elapsedTime)

Chạy thử báo cáo đã 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 cá nhân.

Lĩnh vực

AFTER_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 không thành công

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 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 thức công khai

thêm vị ngữ

public void addPredicate (BugreportCollector.Predicate p)

Thông số
p BugreportCollector.Predicate

khốiUntilIdle

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

getSummary

public TestSummary getSummary ()

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

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

lời gọiĐã kết thúc

public void invocationEnded (long elapsedTime)

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

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

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

lời gọiThất bại

public void invocationFailed (Throwable cause)

Báo cáo một lệnh gọi không đầy đủ do một số điều kiện lỗi.

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

Thông số
cause Throwable : nguyên nhân Throwable của sự thất bại

lời gọiBắt đầu

public void invocationStarted (IInvocationContext context)

Báo cáo bắt đầu yêu cầu thử nghiệm.

Sẽ được gọi tự động bởi khung TradeFederation. 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ị.

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

đặt khô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 luồng khác ( 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 báo cáo lỗi. Nếu null , BugreportCollector sẽ quay trở 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 tiêu cực, sẽ không có kiểm tra nào được thực hiện. Bất kỳ DeviceNotAvailableException nào 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 thử nghiệm nguyên tử báo hiệ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 ngăn xếp của lỗi

thử nghiệmĐã 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 đã vượt qua. Đồng thời trả về bất kỳ số liệu khóa/giá trị nào có thể đã được đưa ra trong quá trình thực thi trường hợp thử nghiệm.

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

testMetrics : một ERROR(/Map) của các chỉ số đượ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 cá nhân.

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 ngăn xếp của lỗi

kiểm traBỏ qua

public void testIgnored (TestDescription test)

Được gọi khi không chạy thử nghiệm, thường là do phương pháp 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à nếu có thể, logcat của thiết bị.

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ần 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.

testRunEnded

public void testRunEnded (long elapsedTime, 
                 runMetrics)

Báo cáo kết thúc chạy thử. KHẮC PHỤC: 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 .

testRunThất bại

public void testRunFailed (String errorMessage)

Báo cáo chạy thử nghiệm không thể hoàn thành do một lỗi nghiêm trọng.

Thông số
errorMessage String : String mô tả lý do chạy không thành công.

testRunBắt đầu

public void testRunStarted (String runName, 
                int testCount)

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

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

testCount int : tổng số bài kiểm tra trong quá trình chạy thử

testRunĐã dừng

public void testRunStopped (long elapsedTime)

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

TODO: hiện không được sử dụng, hãy cân nhắ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 cá nhân. 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