BugreportCollector
public
class
BugreportCollector
extends Object
implements
ITestInvocationListener
| java.lang.Object | |
| ↳ | com.android.tradefed.result.BugreportCollector |
ITestInvocationListener pass-through yang mengumpulkan laporan bug saat peristiwa yang dapat dikonfigurasi terjadi, lalu memanggil ITestInvocationListener.testLog pada turunannya setelah setiap laporan bug dikumpulkan.
Perilaku: (FIXME: selesaikan ini)
- Merekam setelah setiap pengujian jika ada kasus pengujian yang gagal
- Merekam setelah setiap kasus pengujian
- Merekam setelah setiap kasus pengujian gagal
- Rekam videonya
Ringkasan
Class bertingkat | |
|---|---|
class |
BugreportCollector.Predicate
Predikat lengkap yang menjelaskan kapan harus merekam laporan bug. |
interface |
BugreportCollector.SubPredicate
|
Kolom | |
|---|---|
public
static
final
BugreportCollector.Predicate |
AFTER_FAILED_TESTCASES
Predikat yang telah ditentukan sebelumnya yang diaktifkan setelah setiap kasus pengujian gagal |
public
static
final
BugreportCollector.Predicate |
AT_START
Predikat yang telah ditentukan sebelumnya yang diaktifkan saat pemanggilan pertama dimulai |
Konstruktor publik | |
|---|---|
BugreportCollector(ITestInvocationListener listener, ITestDevice testDevice)
|
|
Metode publik | |
|---|---|
void
|
addPredicate(BugreportCollector.Predicate p)
|
void
|
blockUntilIdle()
Memblokir hingga pengumpul tidak mengumpulkan laporan bug apa pun. |
TestSummary
|
getSummary()
Memungkinkan InvocationListener menampilkan ringkasan. |
void
|
invocationEnded(long elapsedTime)
Melaporkan bahwa pemanggilan telah dihentikan, baik berhasil maupun karena kondisi error tertentu. |
void
|
invocationFailed(Throwable cause)
Melaporkan pemanggilan yang tidak lengkap karena kondisi error tertentu. |
void
|
invocationStarted(IInvocationContext context)
Melaporkan dimulainya pemanggilan pengujian. |
void
|
setAsynchronous(boolean asynchronous)
Menetapkan apakah pengumpulan laporan bug harus mengumpulkan laporan bug di thread yang berbeda
( |
void
|
setDescriptiveName(String name)
Menetapkan nama deskriptif yang akan digunakan saat merekam laporan bug. |
void
|
setDeviceWaitTime(int waitTime)
Menetapkan waktu (dalam detik) untuk menunggu perangkat Online sebelum kita mencoba merekam laporan bug. |
void
|
testAssumptionFailure(TestDescription test, String trace)
Dipanggil saat pengujian atomik menandai bahwa pengujian tersebut mengasumsikan kondisi yang salah (false) |
void
|
testEnded(TestDescription test, HashMap<String, MetricMeasurement.Metric> testMetrics)
Melaporkan akhir eksekusi kasus pengujian individu. |
void
|
testFailed(TestDescription test, String trace)
Melaporkan kegagalan kasus pengujian individu. |
void
|
testIgnored(TestDescription test)
Dipanggil saat pengujian tidak akan dijalankan, biasanya karena metode pengujian dianotasi dengan org.junit.Ignore. |
void
|
testLog(String dataName, LogDataType dataType, InputStreamSource dataStream)
Menyediakan data log atau debug terkait dari pemanggilan pengujian. |
void
|
testRunEnded(long elapsedTime, HashMap<String, MetricMeasurement.Metric> runMetrics)
Melaporkan akhir eksekusi pengujian. |
void
|
testRunFailed(String errorMessage)
Uji coba laporan gagal diselesaikan karena terjadi error fatal. |
void
|
testRunStarted(String runName, int testCount)
Melaporkan dimulainya proses pengujian. |
void
|
testRunStopped(long elapsedTime)
Uji coba laporan dihentikan sebelum selesai karena permintaan pengguna. |
void
|
testStarted(TestDescription test)
Melaporkan dimulainya kasus pengujian individu. |
Kolom
AFTER_FAILED_TESTCASES
public static final BugreportCollector.Predicate AFTER_FAILED_TESTCASES
Predikat yang telah ditentukan sebelumnya yang diaktifkan setelah setiap kasus pengujian gagal
AT_START
public static final BugreportCollector.Predicate AT_START
Predikat yang telah ditentukan sebelumnya yang diaktifkan saat pemanggilan pertama dimulai
Konstruktor publik
BugreportCollector
public BugreportCollector (ITestInvocationListener listener, ITestDevice testDevice)
| Parameter | |
|---|---|
listener |
ITestInvocationListener |
testDevice |
ITestDevice |
Metode publik
addPredicate
public void addPredicate (BugreportCollector.Predicate p)
| Parameter | |
|---|---|
p |
BugreportCollector.Predicate |
blockUntilIdle
public void blockUntilIdle ()
Memblokir hingga pengumpul tidak mengumpulkan laporan bug apa pun. Jika pengumpul tidak secara aktif mengumpulkan laporan bug, segera kembali
getSummary
public TestSummary getSummary ()
Memungkinkan InvocationListener menampilkan ringkasan.
| Hasil | |
|---|---|
TestSummary |
TestSummary yang meringkas proses, atau null |
invocationEnded
public void invocationEnded (long elapsedTime)
Melaporkan bahwa pemanggilan telah dihentikan, baik berhasil maupun karena kondisi error tertentu.
Akan dipanggil secara otomatis oleh framework TradeFederation.
| Parameter | |
|---|---|
elapsedTime |
long: waktu yang berlalu dari pemanggilan dalam md |
invocationFailed
public void invocationFailed (Throwable cause)
Melaporkan pemanggilan yang tidak lengkap karena kondisi error tertentu.
Akan dipanggil secara otomatis oleh framework TradeFederation.
| Parameter | |
|---|---|
cause |
Throwable: penyebab kegagalan Throwable |
invocationStarted
public void invocationStarted (IInvocationContext context)
Melaporkan dimulainya pemanggilan pengujian.
Akan dipanggil secara otomatis oleh framework TradeFederation. Pelapor perlu mengganti metode ini untuk mendukung pelaporan dari beberapa perangkat.
| Parameter | |
|---|---|
context |
IInvocationContext: informasi tentang pemanggilan |
setAsynchronous
public void setAsynchronous (boolean asynchronous)
Menetapkan apakah pengumpulan laporan bug harus mengumpulkan laporan bug di thread yang berbeda
(asynchronous = true), atau memblokir pemanggil hingga laporan bug diambil
(asynchronous = false).
| Parameter | |
|---|---|
asynchronous |
boolean |
setDescriptiveName
public void setDescriptiveName (String name)
Menetapkan nama deskriptif yang akan digunakan saat merekam laporan bug. Jika null,
BugreportCollector akan kembali ke perilaku default untuk membuat serial nama
peristiwa yang menyebabkan pengumpulan laporan bug.
| Parameter | |
|---|---|
name |
String |
setDeviceWaitTime
public void setDeviceWaitTime (int waitTime)
Menetapkan waktu (dalam detik) untuk menunggu perangkat Online sebelum kita mencoba merekam
laporan bug. Jika negatif, tidak ada pemeriksaan yang akan dilakukan. DeviceNotAvailableException
yang ditemukan selama pemeriksaan ini akan dicatat dan diabaikan.
| Parameter | |
|---|---|
waitTime |
int |
testAssumptionFailure
public void testAssumptionFailure (TestDescription test, String trace)
Dipanggil saat pengujian atomik menandai bahwa pengujian tersebut mengasumsikan kondisi yang salah (false)
| Parameter | |
|---|---|
test |
TestDescription: mengidentifikasi pengujian |
trace |
String: stack trace kegagalan |
testEnded
public void testEnded (TestDescription test, HashMap<String, MetricMeasurement.Metric> testMetrics)
Melaporkan akhir eksekusi kasus pengujian individu.
Jika testFailed(TestDescription, FailureDescription) tidak dipanggil, pengujian ini lulus. Juga menampilkan metrik kunci/nilai yang mungkin telah dikeluarkan selama eksekusi kasus pengujian.
| Parameter | |
|---|---|
test |
TestDescription: mengidentifikasi pengujian |
testMetrics |
HashMap: Map metrik yang dikeluarkan |
testFailed
public void testFailed (TestDescription test, String trace)
Melaporkan kegagalan kasus pengujian individu.
Akan dipanggil antara testStarted dan testEnded.
| Parameter | |
|---|---|
test |
TestDescription: mengidentifikasi pengujian |
trace |
String: stack trace kegagalan |
testIgnored
public void testIgnored (TestDescription test)
Dipanggil saat pengujian tidak akan dijalankan, biasanya karena metode pengujian dianotasi dengan org.junit.Ignore.
| Parameter | |
|---|---|
test |
TestDescription: mengidentifikasi pengujian |
testLog
public void testLog (String dataName,
LogDataType dataType,
InputStreamSource dataStream)Menyediakan data log atau debug terkait dari pemanggilan pengujian.
Harus dipanggil sebelum ERROR(ITestInvocationListener.invocationFailed(Throwable)/ITestInvocationListener#invocationFailed(java.lang.Throwable) ITestInvocationListener.invocationFailed(Throwable)) atau
ERROR(/ITestInvocationListener#invocationEnded(long))
Framework TradeFederation akan otomatis memanggil metode ini, yang menyediakan log host dan jika berlaku, logcat perangkat.
| Parameter | |
|---|---|
dataName |
String: nama deskriptif String data. Misalnya, "device_logcat". Catatan
dataName mungkin tidak unik per pemanggilan. Artinya, pelaksana harus dapat menangani
beberapa panggilan dengan dataName yang sama |
dataType |
LogDataType: LogDataType data |
dataStream |
InputStreamSource: InputStreamSource data. Pelaksana harus memanggil
createInputStream untuk mulai membaca data, dan memastikan untuk menutup
InputStream yang dihasilkan setelah selesai. Pemanggil harus memastikan sumber data tetap ada dan dapat diakses hingga metode testLog selesai. |
testRunEnded
public void testRunEnded (long elapsedTime,
HashMap<String, MetricMeasurement.Metric> runMetrics)Melaporkan akhir eksekusi pengujian. FIXME: Kita tidak dapat memiliki dua antarmuka Map<> dengan jenis yang berbeda, jadi kita harus menggunakan HashMap di sini.
| Parameter | |
|---|---|
elapsedTime |
long: waktu berlalu yang dilaporkan perangkat, dalam milidetik |
runMetrics |
HashMap: pasangan nilai kunci yang dilaporkan di akhir proses pengujian dengan Metric. |
testRunFailed
public void testRunFailed (String errorMessage)
Uji coba laporan gagal diselesaikan karena terjadi error fatal.
| Parameter | |
|---|---|
errorMessage |
String: String yang menjelaskan alasan kegagalan operasi. |
testRunStarted
public void testRunStarted (String runName,
int testCount)Melaporkan dimulainya proses pengujian.
| Parameter | |
|---|---|
runName |
String: nama uji coba |
testCount |
int: jumlah total pengujian dalam operasi pengujian |
testRunStopped
public void testRunStopped (long elapsedTime)
Uji coba laporan dihentikan sebelum selesai karena permintaan pengguna.
TODO: saat ini tidak digunakan, pertimbangkan untuk menghapusnya
| Parameter | |
|---|---|
elapsedTime |
long: waktu berlalu yang dilaporkan perangkat, dalam milidetik |
testStarted
public void testStarted (TestDescription test)
Melaporkan dimulainya kasus pengujian individu. Antarmuka lama, sebaiknya gunakan testStarted(TestDescription) jika memungkinkan.
| Parameter | |
|---|---|
test |
TestDescription: mengidentifikasi pengujian |