InstrumentationProtoResultParser
public
class
InstrumentationProtoResultParser
extends Object
implements
IInstrumentationResultParser
| java.lang.Object | |
| ↳ | com.android.tradefed.result.ddmlib.InstrumentationProtoResultParser |
Mengurai hasil 'mode output protoStd' dari eksekusi uji instrumentasi dari shell dan memberi tahu ITestRunListener tentang hasilnya.
Perintah instrumen am dengan opsi "-m" menampilkan status eksekusi pengujian dalam format protobuf biner
secara bertahap. 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/sesudah setiap eksekusi uji. 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 mesin status dan status ditentukan dalam ERROR(InstrumentationProtoResultParserState/com.android.tradefed.result.ddmlib.InstrumentationProtoResultParser.InstrumentationProtoResultParserState InstrumentationProtoResultParserState). Status dimulai dengan ERROR(InstrumentationProtoResultParserState.NOT_STARTED/com.android.tradefed.result.ddmlib.InstrumentationProtoResultParser.InstrumentationProtoResultParserState#NOT_STARTED InstrumentationProtoResultParserState.NOT_STARTED). Saat melihat status kasus pengujian pertama, status akan berpindah ke ERROR(InstrumentationProtoResultParserState.RUNNING/com.android.tradefed.result.ddmlib.InstrumentationProtoResultParser.InstrumentationProtoResultParserState#RUNNING InstrumentationProtoResultParserState.RUNNING). Status berubah menjadi ERROR(InstrumentationProtoResultParserState.FINISHED/com.android.tradefed.result.ddmlib.InstrumentationProtoResultParser.InstrumentationProtoResultParserState#FINISHED InstrumentationProtoResultParserState.FINISHED) jika semua pengujian selesai atau ERROR(InstrumentationProtoResultParserState.CANCELLED/com.android.tradefed.result.ddmlib.InstrumentationProtoResultParser.InstrumentationProtoResultParserState#CANCELLED InstrumentationProtoResultParserState.CANCELLED) jika diminta dengan memanggil cancel().
Setiap kali status pengujian baru tersedia, status tersebut akan diinformasikan kepada pemroses yang terdaftar.
Ringkasan
Konstruktor publik | |
|---|---|
InstrumentationProtoResultParser(String runName, Collection<ITestRunListener> listeners)
Membuat |
|
Metode publik | |
|---|---|
void
|
addOutput(byte[] data, int offset, int length)
Metode ini dipanggil setiap kali data baru tersedia. |
void
|
cancel()
Meminta pembatalan eksekusi pengujian. |
void
|
flush()
Dipanggil pada 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 batalkan untuk menghentikan eksekusi perintah shell jarak jauh. |
Konstruktor publik
InstrumentationProtoResultParser
public InstrumentationProtoResultParser (String runName,
Collection<ITestRunListener> listeners)Membuat InstrumentationProtoResultParser.
| Parameter | |
|---|---|
runName |
String: nama eksekusi pengujian yang akan diberikan ke ITestRunListener.testRunStarted |
listeners |
Collection: diberi tahu tentang hasil pengujian saat pengujian sedang dieksekusi |
Metode publik
addOutput
public void addOutput (byte[] data,
int offset,
int length)Metode ini dipanggil setiap kali data baru tersedia.
| Parameter | |
|---|---|
data |
byte: data serial pesan InstrumentationData.Session. Jika data
adalah bagian yang tidak lengkap, data tersebut akan ditambahkan ke buffer internal dan akan diproses pada
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. |
cancel
public void cancel ()
Meminta pembatalan eksekusi pengujian.
flush
public void flush ()
Dipanggil pada akhir eksekusi proses (kecuali jika proses dibatalkan). Hal ini memungkinkan penerima menghentikan dan melakukan flush 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 oleh ITestRunListener.testRunEnded jika error terjadi selama eksekusi uji.
| Parameter | |
|---|---|
errorMsg |
String |
isCancelled
public boolean isCancelled ()
Metode batalkan untuk menghentikan eksekusi perintah shell jarak jauh.
| Hasil | |
|---|---|
boolean |
true untuk membatalkan eksekusi perintah. |