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 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.
- 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 chuỗi khác ( |
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 ERROR(/Throwable) gây ra lỗ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 chuỗi 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 | 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ướcERROR(/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ả ERROR(/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 | 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 : ERROR(/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 |
Nội dung và mã mẫu trên trang này phải tuân thủ các giấy phép như mô tả trong phần Giấy phép nội dung. Java và OpenJDK là nhãn hiệu hoặc nhãn hiệu đã đăng ký của Oracle và/hoặc đơn vị liên kết của Oracle.
Cập nhật lần gần đây nhất: 2023-03-30 UTC.