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 |