InstrumentationProtoResultParser
public
class
InstrumentationProtoResultParser
extends Object
implements
IInstrumentationResultParser
| java.lang.Object | |
| ↳ | com.android.tradefed.result.ddmlib.InstrumentationProtoResultParser |
แยกวิเคราะห์ผลลัพธ์ "โหมดเอาต์พุต protoStd" ของการทดสอบเครื่องมือวัดที่เรียกใช้จากเชลล์และแจ้งผลลัพธ์ให้ ITestRunListener ทราบ
คำสั่ง Am instrument ที่มีตัวเลือก "-m" จะแสดงผลสถานะการเรียกใช้การทดสอบในรูปแบบไบนารี protobuf แบบทีละรายการ ข้อความ protobuf เอาต์พุตคือ InstrumentationData.Session ซึ่งมี 2 ฟิลด์ ได้แก่ 1) ฟิลด์ที่ซ้ำของ InstrumentationData.TestStatus และ 2) InstrumentationData.SessionStatus คำสั่ง am instrument จะแสดงข้อความสถานะการทดสอบก่อน/หลังการเรียกใช้การทดสอบแต่ละครั้ง มีการเรียกใช้ addOutput(byte, int, int) ด้วยอาร์กิวเมนต์ data ซึ่งเป็นไบต์ที่แปลงเป็นอนุกรมของ TestStatus เมื่อการทดสอบทั้งหมดเสร็จสิ้นแล้ว คำสั่งจะแสดงผลลัพธ์ SessionStatus เป็นลำดับสุดท้าย
ดูคำจำกัดความ protobuf ที่สมบูรณ์ได้ที่ https://cs.android.com/android/platform/superproject/+/master:frameworks/base/cmds/am/proto/instrumentation_data.proto
InstrumentationProtoResultParser คือสถานะการทำงานของเครื่องและสถานะจะกำหนดไว้ใน ERROR(InstrumentationProtoResultParserState/com.android.tradefed.result.ddmlib.InstrumentationProtoResultParser.InstrumentationProtoResultParserState InstrumentationProtoResultParserState) สถานะจะขึ้นต้นด้วย ERROR(/com.android.tradefed.result.ddmlib.InstrumentationProtoResultParser.InstrumentationProtoResultParserState#NOT_STARTED) เมื่อเห็นสถานะ Test Case รายการแรก ระบบจะย้ายไปที่ ERROR(InstrumentationProtoResultParserState.RUNNING/com.android.tradefed.result.ddmlib.InstrumentationProtoResultParser.InstrumentationProtoResultParserState#RUNNING InstrumentationProtoResultParserState.RUNNING) สถานะจะเปลี่ยนเป็น ERROR(/com.android.tradefed.result.ddmlib.InstrumentationProtoResultParser.InstrumentationProtoResultParserState#FINISHED) หากการทดสอบทั้งหมดเสร็จสิ้นแล้ว หรือ ERROR(/com.android.tradefed.result.ddmlib.InstrumentationProtoResultParser.InstrumentationProtoResultParserState#CANCELLED) หากมีการเรียกใช้โดยเรียก cancel()
ทุกครั้งที่มีสถานะการทดสอบใหม่ จะมีการแจ้งให้ผู้ฟังที่ลงทะเบียนไว้ทราบ
สรุป
ตัวสร้างแบบสาธารณะ | |
|---|---|
InstrumentationProtoResultParser(String runName,
โครงสร้าง |
|
เมธอดสาธารณะ | |
|---|---|
void
|
addOutput(byte[] data, int offset, int length)
ระบบจะเรียกใช้เมธอดนี้ทุกครั้งที่มีข้อมูลใหม่ |
void
|
cancel()
|
void
|
flush()
|
void
|
handleTestRunFailed(String errorMsg)
|
boolean
|
isCancelled()
|
ตัวสร้างแบบสาธารณะ
InstrumentationProtoResultParser
public InstrumentationProtoResultParser (String runName,
listeners) โครงสร้าง InstrumentationProtoResultParser
| พารามิเตอร์ | |
|---|---|
runName |
String: ชื่อการทดสอบที่จะส่งให้ ITestRunListener.testRunStarted |
listeners |
: แจ้งผลการทดสอบขณะที่การทดสอบดําเนินการ |
เมธอดสาธารณะ
addOutput
public void addOutput (byte[] data,
int offset,
int length)ระบบจะเรียกใช้เมธอดนี้ทุกครั้งที่มีข้อมูลใหม่
| พารามิเตอร์ | |
|---|---|
data |
byte: ข้อมูล InstrumentationData.Session ที่แปลงเป็นอนุกรม หาก data
เป็นกลุ่มที่ไม่สมบูรณ์ ระบบจะเพิ่มลงในบัฟเฟอร์ภายในและจะประมวลผลในการเรียกใช้ addOutput(byte, int, int) ครั้งถัดไป |
offset |
int: การเลื่อนของข้อมูลใหม่ที่จัดเก็บใน data |
length |
int: ไบต์ของข้อมูลใหม่ใน data ที่จะประมวลผล |
ยกเลิก
public void cancel ()
ฝัง
public void flush ()
handleTestRunFailed
public void handleTestRunFailed (String errorMsg)
| พารามิเตอร์ | |
|---|---|
errorMsg |
String |
isCancelled
public boolean isCancelled ()
| คิกรีเทิร์น | |
|---|---|
boolean |
|