InstrumentationProtoResultParser
public
class
InstrumentationProtoResultParser
extends Object
implements
IInstrumentationResultParser
| java.lang.Object | |
| ↳ | com.android.tradefed.result.ddmlib.InstrumentationProtoResultParser |
Mengurai hasil 'mode output protoStd' dari proses pengujian instrumentasi yang dijalankan dari shell dan memberi tahu ITestRunListener tentang hasilnya.
Perintah instrumen dengan opsi "-m" menampilkan status eksekusi pengujian dalam format protobuf biner
secara inkremental. Pesan protobuf output adalah InstrumentationData.Session, yang memiliki dua
kolom: 1) kolom berulang InstrumentationData.TestStatus, 2) InstrumentationData.SessionStatus. Perintah instrumen am menampilkan pesan status pengujian
sebelum/setelah setiap eksekusi pengujian. addOutput(byte, int, int) dipanggil dengan argumen data
yang merupakan byte serial TestStatus. Setelah semua pengujian selesai, perintah
akan menampilkan SessionStatus pada akhirnya.
Lihat https://cs.android.com/android/platform/superproject/+/master:frameworks/base/cmds/am/proto/instrumentation_data.proto untuk definisi protobuf lengkap.
InstrumentationProtoResultParser adalah state-machine dan status ditentukan dalam ERROR(InstrumentationProtoResultParserState/com.android.tradefed.result.ddmlib.InstrumentationProtoResultParser.InstrumentationProtoResultParserState InstrumentationProtoResultParserState). Status dimulai dengan ERROR(/com.android.tradefed.result.ddmlib.InstrumentationProtoResultParser.InstrumentationProtoResultParserState#NOT_STARTED). Saat melihat status kasus pengujian pertama, statusnya akan
berubah menjadi ERROR(InstrumentationProtoResultParserState.RUNNING/com.android.tradefed.result.ddmlib.InstrumentationProtoResultParser.InstrumentationProtoResultParserState#RUNNING InstrumentationProtoResultParserState.RUNNING). Status berubah menjadi ERROR(/com.android.tradefed.result.ddmlib.InstrumentationProtoResultParser.InstrumentationProtoResultParserState#FINISHED) jika semua pengujian selesai atau ERROR(/com.android.tradefed.result.ddmlib.InstrumentationProtoResultParser.InstrumentationProtoResultParserState#CANCELLED) jika diminta dengan memanggil cancel().
Setiap kali status pengujian baru tersedia, pemroses yang terdaftar akan diberi tahu.
Ringkasan
Konstruktor publik | |
|---|---|
InstrumentationProtoResultParser(String runName,
Membangun |
|
Metode publik | |
|---|---|
void
|
addOutput(byte[] data, int offset, int length)
Metode ini dipanggil setiap kali ada data baru. |
void
|
cancel()
Meminta pembatalan uji coba. |
void
|
flush()
Dipanggil di akhir eksekusi proses (kecuali jika proses dibatalkan). |
void
|
handleTestRunFailed(String errorMsg)
Metode ini dipanggil saat perintah "am instrument" mengalami error dengan pengecualian. |
boolean
|
isCancelled()
Metode pembatalan untuk menghentikan eksekusi perintah shell jarak jauh. |
Konstruktor publik
InstrumentationProtoResultParser
public InstrumentationProtoResultParser (String runName,
listeners) Membangun InstrumentationProtoResultParser.
| Parameter | |
|---|---|
runName |
String: nama operasi pengujian yang akan diberikan ke ITestRunListener.testRunStarted |
listeners |
: diberi tahu hasil pengujian saat pengujian sedang berjalan |
Metode publik
addOutput
public void addOutput (byte[] data,
int offset,
int length)Metode ini dipanggil setiap kali ada data baru.
| Parameter | |
|---|---|
data |
byte: data berseri pesan InstrumentationData.Session. Jika data
adalah potongan yang tidak lengkap, potongan tersebut akan ditambahkan ke buffer internal dan akan diproses dalam
panggilan addOutput(byte, int, int) berikutnya. |
offset |
int: offset data baru yang disimpan di data |
length |
int: byte data baru di data yang akan diproses. |
batal
public void cancel ()
Meminta pembatalan uji coba.
flush
public void flush ()
Dipanggil di akhir eksekusi proses (kecuali jika proses dibatalkan). Hal ini memungkinkan penerima menghentikan dan menghapus data apa pun yang belum diproses.
handleTestRunFailed
public void handleTestRunFailed (String errorMsg)
Metode ini dipanggil saat perintah "am instrument" mengalami error dengan pengecualian. Semua pemroses yang terdaftar harus diberi tahu ITestRunListener.testRunFailed diikuti dengan ITestRunListener.testRunEnded(long, jika terjadi error selama eksekusi pengujian.
| Parameter | |
|---|---|
errorMsg |
String |
isCancelled
public boolean isCancelled ()
Metode pembatalan untuk menghentikan eksekusi perintah shell jarak jauh.
| Hasil | |
|---|---|
boolean |
benar (true) untuk membatalkan eksekusi perintah. |