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
( |
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,
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,
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ử |