InstrumentationResultParser

public class InstrumentationResultParser
extends MultiLineReceiver implements IInstrumentationResultParser

java.lang.Object
   ↳ com.android.ddmlib.MultiLineReceiver
     ↳ com.android.tradefed.result.ddmlib.InstrumentationResultParser


แยกวิเคราะห์ผลลัพธ์ของ "โหมดเอาต์พุตดิบ" ของการทดสอบเครื่องมือที่เรียกใช้จากเชลล์และแจ้งให้ ITestRunListener ทราบผลลัพธ์

คาดหวังผลลัพธ์ต่อไปนี้

หากเกิดข้อผิดพลาดร้ายแรงเมื่อพยายามเรียกใช้การทดสอบ ให้ทำดังนี้

 INSTRUMENTATION_STATUS: Error=error Message
 INSTRUMENTATION_FAILED:
 

หรือ

 INSTRUMENTATION_RESULT: shortMsg=error Message
 

มิฉะนั้น ให้คาดหวังผลการทดสอบชุดหนึ่ง ซึ่งแต่ละชุดจะมีคู่คีย์/ค่าสถานะ โดยมีรหัสผลลัพธ์สถานะเริ่มต้น(1)/ผ่าน(0)/ไม่ผ่าน(-2)/ข้อผิดพลาด(-1) เป็นตัวคั่น เมื่อสิ้นสุดการทดสอบ คาดว่าเวลาทดสอบที่ผ่านไปเป็นวินาทีจะแสดงขึ้น

เช่น

 INSTRUMENTATION_STATUS_CODE: 1
 INSTRUMENTATION_STATUS: class=com.foo.FooTest
 INSTRUMENTATION_STATUS: test=testFoo
 INSTRUMENTATION_STATUS: numtests=2
 INSTRUMENTATION_STATUS: stack=com.foo.FooTest#testFoo:312
    com.foo.X
 INSTRUMENTATION_STATUS_CODE: -2
 ...

 Time: X
 

โปรดทราบว่าส่วน "ค่า" ของคู่คีย์-ค่าอาจยาวหลายบรรทัด

โปรดใช้ InstrumentationProtoResultParser แทน โปรแกรมแยกวิเคราะห์ที่อิงตาม Proto มีข้อมูลเพิ่มเติม เช่น ข้อความ Logcat

สรุป

เครื่องมือสร้างสาธารณะ

InstrumentationResultParser(String runName, listeners)

สร้าง InstrumentationResultParser

เมธอดสาธารณะ

void cancel()

คำขอยกเลิกการทดสอบ

void done()

เรียกใช้โดยผู้ปกครองเมื่อเซสชัน adb เสร็จสมบูรณ์

void handleTestRunFailed(String errorMsg)

ระบบจะเรียกใช้เมธอดนี้เมื่อคำสั่ง "am instrument" ขัดข้องพร้อมข้อยกเว้น

boolean isCancelled()

แสดงผลเป็น "จริง" หากยกเลิกการทดสอบ

void processNewLines(String[] lines)

ประมวลผลเอาต์พุตการทดสอบการวัดคุมจากเชลล์

เครื่องมือสร้างสาธารณะ

InstrumentationResultParser

public InstrumentationResultParser (String runName, 
                 listeners)

สร้าง InstrumentationResultParser

พารามิเตอร์
runName String: ชื่อการทดสอบเพื่อระบุต่อ ITestRunListener.testRunStarted(String, int)

listeners : ได้รับแจ้งผลการทดสอบขณะที่การทดสอบดำเนินการอยู่

เมธอดสาธารณะ

ยกเลิก

public void cancel ()

คำขอยกเลิกการทดสอบ

เสร็จสิ้น

public void done ()

เรียกใช้โดยผู้ปกครองเมื่อเซสชัน adb เสร็จสมบูรณ์

handleTestRunFailed

public void handleTestRunFailed (String errorMsg)

ระบบจะเรียกใช้เมธอดนี้เมื่อคำสั่ง "am instrument" ขัดข้องพร้อมข้อยกเว้น ผู้ฟังที่ลงทะเบียนทั้งหมดควรได้รับการแจ้งเตือน ITestRunListener.testRunFailed ตามด้วย ITestRunListener.testRunEnded(long, ) หากเกิดข้อขัดข้องระหว่างการทดสอบ

พารามิเตอร์
errorMsg String

isCancelled

public boolean isCancelled ()

แสดงผลเป็น "จริง" หากยกเลิกการทดสอบ

คิกรีเทิร์น
boolean true เพื่อยกเลิกการดำเนินการคำสั่ง

ดูเพิ่มเติม:

processNewLines

public void processNewLines (String[] lines)

ประมวลผลเอาต์พุตการทดสอบการวัดคุมจากเชลล์

พารามิเตอร์
lines String: อาร์เรย์ที่มีบรรทัดใหม่

ดูเพิ่มเติม: