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, listeners)

Membangun InstrumentationProtoResultParser.

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.