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

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

  • Chụp sau mỗi lần kiểm thử nếu có bất kỳ trường hợp kiểm thử nào không thành công
  • Ghi lại sau mỗi trường hợp kiểm thử
  • Ghi lại sau mỗi trường hợp kiểm thử không thành công
  • Quay hình

Tóm tắt

Lớp lồng ghép

class BugreportCollector.Predicate

Một thuộc tính đầy đủ mô tả thời điểm cần ghi lại báo cáo lỗi. 

interface BugreportCollector.SubPredicate

 

Trường

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 kiểm thử không thành công

public static final BugreportCollector.Predicate AT_START

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

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

BugreportCollector(ITestInvocationListener listener, ITestDevice testDevice)

Phương thức công khai

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

Chặn cho đến khi trình 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ề 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ố lỗi .

void invocationFailed(Throwable cause)

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

void invocationStarted(IInvocationContext context)

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

void setAsynchronous(boolean asynchronous)

Đặt xem có nên thu thập báo cáo lỗi trong một luồng khác để thu thập báo cáo lỗi hay không (asynchronous = true) hoặc chặn phương thức gọi cho đến khi hệ thống ghi lại báo cáo 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) để chờ thiết bị kết nối mạng trước khi chúng ta cố gắng chụp báo cáo lỗi.

void testAssumptionFailure(TestDescription test, String trace)

Được gọi khi một phép kiểm thử nguyên tử gắn cờ cho một điều kiện là false

void testEnded(TestDescription test, testMetrics)

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

void testFailed(TestDescription test, String trace)

Báo cáo lỗi của một trường hợp kiểm thử riêng lẻ.

void testIgnored(TestDescription test)

Được gọi khi một bài kiểm thử không được chạy, thường là vì một phương thức kiểm thử được chú thích bằng org.junit.Ignore.

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

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

void testRunEnded(long elapsedTime, runMetrics)

Báo cáo kết thúc lần chạy thử nghiệm.

void testRunFailed(String errorMessage)

Không hoàn tất được quá trình chạy thử nghiệm báo cáo do xảy ra lỗi nghiêm trọng.

void testRunStarted(String runName, int testCount)

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

void testRunStopped(long elapsedTime)

Đã dừng chạy thử nghiệm báo cáo trước khi hoàn tất do có yêu cầu của người dùng.

void testStarted(TestDescription test)

Báo cáo việc bắt đầu một trường hợp kiểm thử riêng lẻ.

Trường

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 kiểm thử không thành công

AT_START

public static final BugreportCollector.Predicate AT_START

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

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

Báo cáo lỗi

public BugreportCollector (ITestInvocationListener listener, 
                ITestDevice testDevice)

Tham số
listener ITestInvocationListener

testDevice ITestDevice

Phương thức công khai

addPredicate

public void addPredicate (BugreportCollector.Predicate p)

Tham số
p BugreportCollector.Predicate

khối cho đến khi không hoạt động

public void blockUntilIdle ()

Chặn cho đến khi trình thu thập không thu thập bất kỳ báo cáo lỗi nào. Nếu trình thu thập không hoạt động thu thập báo cáo lỗi, hãy quay lại ngay

getTóm tắt

public TestSummary getSummary ()

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

Giá trị trả về
TestSummary TestSummary tóm tắt quá trình chạy hoặc giá trị rỗng

gọ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ố 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

kích hoạt không thành công

public void invocationFailed (Throwable cause)

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

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

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

đã kích hoạt

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 pháp này để hỗ trợ báo cáo nhiều thiết bị.

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

Đặt không đồng bộ

public void setAsynchronous (boolean asynchronous)

Đặt xem có nên thu thập báo cáo lỗi trong một luồng khác để thu thập báo cáo lỗi hay không (asynchronous = true) hoặc chặn phương thức gọi cho đến khi hệ thống ghi lại báo cáo lỗi (asynchronous = false).

Tham số
asynchronous boolean

setDescriptionName

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 giá trị là null, BugreportCollector sẽ quay lại sử dụng hành vi mặc định là chuyển đổi tuần tự tên của sự kiện dẫn đến việc thu thập báo cáo lỗi.

Tham số
name String

đặtThời gian chờ trên thiết bị

public void setDeviceWaitTime (int waitTime)

Đặt thời gian (tính bằng giây) để chờ thiết bị kết nối mạng trước khi chúng ta cố gắng chụp báo cáo lỗi. Nếu có kết quả âm tính thì chúng tôi sẽ không kiểm tra. DeviceNotAvailableException bất kỳ gặp phải trong quá trình kiểm tra này sẽ được ghi nhật ký và bỏ qua.

Tham số
waitTime int

thử nghiệmAssumptionKhông thành công

public void testAssumptionFailure (TestDescription test, 
                String trace)

Được gọi khi một phép kiểm thử nguyên tử gắn cờ cho một điều kiện là false

Tham số
test TestDescription: xác định kiểm thử

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 việc kết thúc thực thi của một trường hợp kiểm thử riêng lẻ.

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

Tham số
test TestDescription: xác định kiểm thử

testMetrics : ERROR(/Map) trong số các chỉ số được đưa ra

thử nghiệm không thành công

public void testFailed (TestDescription test, 
                String trace)

Báo cáo lỗi của một trường hợp kiểm thử riêng lẻ.

Sẽ được gọi trong khoảng thời gian giữa testStarted và testCancelled.

Tham số
test TestDescription: xác định kiểm thử

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

Đã bỏ qua kiểm thử

public void testIgnored (TestDescription test)

Được gọi khi một bài kiểm thử không được chạy, thường là vì một phương thức kiểm thử được chú thích bằng org.junit.Ignore.

Tham số
test TestDescription: xác định kiểm thử

nhật ký kiểm thử

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

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

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 và cung cấp nhật ký máy chủ lưu trữ và nếu có thì là logcat thiết bị.

Tham số
dataName String: tên mô tả String của dữ liệu. ví dụ: "device_logcat". Ghi chú dataName không được 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 lệnh gọi có cùng dataName

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

dataStream InputStreamSource: InputStreamSource của dữ liệu. Trình triển khai nên gọi createInputStream để bắt đầu đọc dữ liệu và đảm bảo đóng kết quả InputStream khi hoàn tất. Phương thức gọi phải đảm bảo giữ lại nguồn dữ liệu có sẵn và có thể truy cập được cho đến khi phương thức testLog hoàn tất.

testRun kết thúc

public void testRunEnded (long elapsedTime, 
                 runMetrics)

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

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

runMetrics : các cặp khoá-giá trị được báo cáo khi kết thúc lượt chạy kiểm thử bằng Metric.

testRunFailed không thành công

public void testRunFailed (String errorMessage)

Không hoàn tất được quá trình chạy thử nghiệm báo cáo do xảy ra lỗi nghiêm trọng.

Tham số
errorMessage String: String mô tả lý do không chạy được.

Đã bắt đầu kiểm thử

public void testRunStarted (String runName, 
                int testCount)

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

Tham số
runName String: tên chạy kiểm thử

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

testRunSĐã dừng

public void testRunStopped (long elapsedTime)

Đã dừng chạy thử nghiệm báo cáo trước khi hoàn tất do có yêu cầu của người dùng.

VIỆC CẦN LÀM: hiện không sử dụng, hãy cân nhắc xoá

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

đã bắt đầu thử nghiệm

public void testStarted (TestDescription test)

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

Tham số
test TestDescription: xác định kiểm thử