KolektorLaporan Bug

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 {i>bug<i} dikumpulkan.

Perilaku: (FIXME: selesaikan ini)

  • Ambil foto setelahnya jika ada kasus pengujian yang gagal
  • Ambil gambar setelah setiap kasus uji
  • Ambil gambar setelah setiap kasus pengujian yang gagal
  • Rekam

Ringkasan

Class bertingkat

class BugreportCollector.Predicate

Predikat lengkap yang menjelaskan kapan harus mengambil laporan bug. 

interface BugreportCollector.SubPredicate

 

Kolom

public static final BugreportCollector.Predicate AFTER_FAILED_TESTCASES

Predikat yang telah ditentukan yang diaktifkan setelah setiap kasus pengujian yang gagal

public static final BugreportCollector.Predicate AT_START

Predikat yang telah ditentukan yang diaktifkan saat pemanggilan pertama dimulai

Konstruktor publik

BugreportCollector(ITestInvocationListener listener, ITestDevice testDevice)

Metode publik

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

Blokir hingga kolektor tidak mengumpulkan laporan bug apa pun.

TestSummary getSummary()

Mengizinkan InvocationListener menampilkan ringkasan.

void invocationEnded(long elapsedTime)

Melaporkan bahwa pemanggilan telah dihentikan, baik berhasil maupun karena beberapa error .

void invocationFailed(Throwable cause)

Melaporkan pemanggilan yang tidak lengkap karena beberapa kondisi error.

void invocationStarted(IInvocationContext context)

Melaporkan awal pemanggilan pengujian.

void setAsynchronous(boolean asynchronous)

Menyetel apakah pengumpulan laporan bug harus mengumpulkan laporan bug di thread yang berbeda (asynchronous = true), atau memblokir pemanggil hingga laporan bug direkam (asynchronous = false).

void setDescriptiveName(String name)

Tetapkan nama deskriptif yang akan digunakan saat merekam laporan bug.

void setDeviceWaitTime(int waitTime)

Atur waktu (dalam detik) untuk menunggu perangkat Online sebelum kita mencoba merekam laporan {i>bug<i}.

void testAssumptionFailure(TestDescription test, String trace)

Dipanggil saat pengujian atomik menandai bahwa kondisi tersebut mengasumsikan kondisi yang salah.

void testEnded(TestDescription test, testMetrics)

Melaporkan akhir eksekusi setiap kasus pengujian.

void testFailed(TestDescription test, String trace)

Melaporkan kegagalan kasus pengujian individu.

void testIgnored(TestDescription test)

Dipanggil pada saat pengujian tidak akan dijalankan, umumnya karena metode pengujian dianotasi dengan {i>org.junit.Ignore<i}.

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

Memberikan data log atau debug terkait dari pemanggilan pengujian.

void testRunEnded(long elapsedTime, runMetrics)

Melaporkan berakhirnya uji coba.

void testRunFailed(String errorMessage)

Melaporkan pengujian yang gagal diselesaikan karena terjadi error fatal.

void testRunStarted(String runName, int testCount)

Melaporkan dimulainya pengujian.

void testRunStopped(long elapsedTime)

Melaporkan pengujian yang dihentikan sebelum selesai karena permintaan pengguna.

void testStarted(TestDescription test)

Melaporkan awal kasus pengujian individual.

Kolom

SETELAH_FAILED_TESTCASES

public static final BugreportCollector.Predicate AFTER_FAILED_TESTCASES

Predikat yang telah ditentukan yang diaktifkan setelah setiap kasus pengujian yang gagal

DIMULAI

public static final BugreportCollector.Predicate AT_START

Predikat yang telah ditentukan yang diaktifkan saat pemanggilan pertama dimulai

Konstruktor publik

KolektorLaporan Bug

public BugreportCollector (ITestInvocationListener listener, 
                ITestDevice testDevice)

Parameter
listener ITestInvocationListener

testDevice ITestDevice

Metode publik

addPredikat

public void addPredicate (BugreportCollector.Predicate p)

Parameter
p BugreportCollector.Predicate

blokHinggaTidak Ada Aktivitas

public void blockUntilIdle ()

Blokir hingga kolektor tidak mengumpulkan laporan bug apa pun. Jika kolektor tidak aktif mengumpulkan laporan {i>bug<i}, segera kembali

getSummary

public TestSummary getSummary ()

Mengizinkan InvocationListener menampilkan ringkasan.

Hasil
TestSummary TestSummary yang meringkas operasi, atau null

pemanggilanBerakhir

public void invocationEnded (long elapsedTime)

Melaporkan bahwa pemanggilan telah dihentikan, baik berhasil maupun karena beberapa error .

Akan otomatis dipanggil oleh framework TradeFederation.

Parameter
elapsedTime long: waktu berlalu dari pemanggilan dalam md

pemanggilanGagal

public void invocationFailed (Throwable cause)

Melaporkan pemanggilan yang tidak lengkap karena beberapa kondisi error.

Akan otomatis dipanggil oleh framework TradeFederation.

Parameter
cause Throwable: Throwable penyebab kegagalan

pemanggilanDimulai

public void invocationStarted (IInvocationContext context)

Melaporkan awal pemanggilan pengujian.

Akan otomatis dipanggil oleh framework TradeFederation. Pelapor harus mengganti metode ini untuk mendukung pelaporan beberapa perangkat.

Parameter
context IInvocationContext: informasi tentang panggilan

setAsinkron

public void setAsynchronous (boolean asynchronous)

Menyetel apakah pengumpulan laporan bug harus mengumpulkan laporan bug di thread yang berbeda (asynchronous = true), atau memblokir pemanggil hingga laporan bug direkam (asynchronous = false).

Parameter
asynchronous boolean

setDescriptiveName

public void setDescriptiveName (String name)

Tetapkan nama deskriptif yang akan digunakan saat merekam laporan bug. Jika null, BugreportCollector akan kembali ke perilaku default serialisasi nama peristiwa yang menyebabkan laporan {i>bug<i} dikumpulkan.

Parameter
name String

setDeviceTungguTime

public void setDeviceWaitTime (int waitTime)

Atur waktu (dalam detik) untuk menunggu perangkat Online sebelum kita mencoba merekam laporan {i>bug<i}. Jika negatif, pemeriksaan tidak akan dilakukan. Yang Mana Pun DeviceNotAvailableException ditemukan selama pemeriksaan ini akan dicatat dan diabaikan.

Parameter
waitTime int

testAsumsiKegagalan

public void testAssumptionFailure (TestDescription test, 
                String trace)

Dipanggil saat pengujian atomik menandai bahwa kondisi tersebut mengasumsikan kondisi yang salah.

Parameter
test TestDescription: mengidentifikasi pengujian

trace String: stack trace kegagalan

testBerakhir

public void testEnded (TestDescription test, 
                 testMetrics)

Melaporkan akhir eksekusi setiap kasus pengujian.

Jika testFailed(TestDescription, FailureDescription) tidak dipanggil, pengujian ini lulus. Juga menampilkan kunci/nilai metrik yang mungkin dimunculkan selama eksekusi kasus pengujian.

Parameter
test TestDescription: mengidentifikasi pengujian

testMetrics : ERROR(/Map) metrik yang ditampilkan

pengujianGagal

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

testDiabaikan

public void testIgnored (TestDescription test)

Dipanggil pada saat pengujian tidak akan dijalankan, umumnya karena metode pengujian dianotasi dengan {i>org.junit.Ignore<i}.

Parameter
test TestDescription: mengidentifikasi pengujian

Loguji

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

Memberikan data log atau debug terkait dari pemanggilan pengujian.

Harus dipanggil sebelum ERROR(/ITestInvocationListener#invocationFailed(Throwable)) atau ERROR(/ITestInvocationListener#invocationEnded(long))

Framework TradeFederation akan otomatis memanggil metode ini, yang memberikan log host dan jika ada, logcat perangkat.

Parameter
dataName String: nama deskriptif String data. mis. "device_logcat". Catatan dataName tidak boleh unik per pemanggilan. yaitu pengimplementasi harus mampu menangani beberapa panggilan dengan dataName yang sama

dataType LogDataType: LogDataType data

dataStream InputStreamSource: InputStreamSource data. Pengimplementasi harus memanggil createInputStream untuk mulai membaca data, dan memastikan untuk menutup hasil InputStream setelah selesai. Pemanggil harus memastikan sumber data tetap ada ada dan dapat diakses sampai metode {i> testLog<i} selesai.

testRunEnded

public void testRunEnded (long elapsedTime, 
                 runMetrics)

Melaporkan berakhirnya uji coba. FIXME: Kita tidak dapat memiliki dua Peta<> antarmuka dengan jenis yang berbeda, jadi kita harus menggunakan HashMap di sini.

Parameter
elapsedTime long: perangkat melaporkan waktu berlalu, dalam milidetik

runMetrics : pasangan nilai kunci yang dilaporkan di akhir pengujian dengan Metric.

{i>testRunFailed<i}

public void testRunFailed (String errorMessage)

Melaporkan pengujian yang 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 pengujian.

Parameter
runName String: nama pengujian yang dijalankan

testCount int: jumlah total pengujian dalam pengujian

testRunBerhenti

public void testRunStopped (long elapsedTime)

Melaporkan pengujian yang dihentikan sebelum selesai karena permintaan pengguna.

TODO: saat ini tidak digunakan, pertimbangkan untuk menghapusnya

Parameter
elapsedTime long: perangkat melaporkan waktu berlalu, dalam milidetik

pengujianDimulai

public void testStarted (TestDescription test)

Melaporkan awal kasus pengujian individual. Antarmuka yang lebih lama, harus menggunakan testStarted(com.android.tradefed.result.TestDescription) jika memungkinkan.

Parameter
test TestDescription: mengidentifikasi pengujian