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 (asynchronous = true), atau memblokir pemanggil hingga laporan bug diambil (asynchronous = false).

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