BugreportCollector

public class BugreportCollector
extends Object implements ITestInvocationListener

java.lang.Object
   ↳ com.android.tradefed.result.BugreportCollector


ITestInvocationListener แบบส่งต่อที่รวบรวมรายงานข้อบกพร่องเมื่อเกิดเหตุการณ์ที่กำหนดค่าได้ แล้วเรียกใช้ ITestInvocationListener.testLog ในองค์กรย่อยหลังจากรวบรวมรายงานข้อบกพร่องแต่ละรายการ

ลักษณะการทำงาน: (FIXME: finish this)

  • บันทึกภาพหลังจากที่เคสทดสอบล้มเหลว (หากมี)
  • บันทึกหลังกรณีทดสอบแต่ละรายการ
  • บันทึกหลังการทดสอบที่ไม่สำเร็จแต่ละครั้ง
  • จับภาพ

สรุป

คลาสที่ซ้อนกัน

class BugreportCollector.Predicate

ข้อกำหนดแบบเต็มที่อธิบายเวลาที่จะจับภาพรายงานข้อบกพร่อง 

interface BugreportCollector.SubPredicate

 

ทุ่ง

public static final BugreportCollector.Predicate AFTER_FAILED_TESTCASES

ตัวบ่งชี้ที่กำหนดไว้ล่วงหน้าซึ่งจะทำงานหลังจากกรณีทดสอบแต่ละรายการไม่สำเร็จ

public static final BugreportCollector.Predicate AT_START

เพรดิเคตที่กำหนดไว้ล่วงหน้าซึ่งจะเริ่มทำงานเมื่อการเรียกใช้ครั้งแรกเริ่มต้นขึ้น

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

BugreportCollector(ITestInvocationListener listener, ITestDevice testDevice)

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

void addPredicate(BugreportCollector.Predicate p)
void blockUntilIdle()

บล็อกจนกว่าตัวรวบรวมจะไม่รวบรวมรายงานข้อบกพร่อง

TestSummary getSummary()

อนุญาตให้ InvocationListener แสดงผลสรุป

void invocationEnded(long elapsedTime)

รายงานว่าการเรียกใช้สิ้นสุดลงแล้ว ไม่ว่าจะสำเร็จหรือไม่ก็ตาม หรือเนื่องจากเงื่อนไขข้อผิดพลาดบางอย่าง

void invocationFailed(Throwable cause)

รายงานการเรียกใช้ที่ไม่สมบูรณ์เนื่องจากเงื่อนไขข้อผิดพลาดบางอย่าง

void invocationStarted(IInvocationContext context)

รายงานการเริ่มต้นการเรียกใช้การทดสอบ

void setAsynchronous(boolean asynchronous)

ตั้งค่าว่าจะให้การรวบรวมรายงานข้อบกพร่องรวบรวมรายงานข้อบกพร่องในเธรดอื่น (asynchronous = true) หรือบล็อกผู้โทรจนกว่าจะบันทึกรายงานข้อบกพร่องได้ (asynchronous = false)

void setDescriptiveName(String name)

ตั้งชื่อที่สื่อความหมายที่จะใช้เมื่อบันทึกรายงานข้อบกพร่อง

void setDeviceWaitTime(int waitTime)

ตั้งเวลา (เป็นวินาที) เพื่อรอให้อุปกรณ์ออนไลน์ก่อนที่เราจะพยายามบันทึก รายงานข้อบกพร่อง

void testAssumptionFailure(TestDescription test, String trace)

เรียกใช้เมื่อการทดสอบแบบอะตอมแจ้งว่ามีการสมมติเงื่อนไขที่เป็นเท็จ

void testEnded(TestDescription test, HashMap<String, MetricMeasurement.Metric> testMetrics)

รายงานจุดสิ้นสุดของการดำเนินการของกรณีทดสอบแต่ละรายการ

void testFailed(TestDescription test, String trace)

รายงานความล้มเหลวของกรณีทดสอบแต่ละรายการ

void testIgnored(TestDescription test)

เรียกใช้เมื่อจะไม่ทำการทดสอบ โดยทั่วไปเนื่องจากมีการใส่คำอธิบายประกอบเมธอดทดสอบด้วย org.junit.Ignore

void testLog(String dataName, LogDataType dataType, InputStreamSource dataStream)

แสดงบันทึกหรือข้อมูลการแก้ไขข้อบกพร่องที่เกี่ยวข้องจากการเรียกใช้การทดสอบ

void testRunEnded(long elapsedTime, HashMap<String, MetricMeasurement.Metric> runMetrics)

รายงานสิ้นสุดการทดสอบ

void testRunFailed(String errorMessage)

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

void testRunStarted(String runName, int testCount)

รายงานการเริ่มต้นการทดสอบ

void testRunStopped(long elapsedTime)

การทดสอบรายงานหยุดก่อนที่จะเสร็จสมบูรณ์เนื่องจากคำขอของผู้ใช้

void testStarted(TestDescription test)

รายงานจุดเริ่มต้นของกรณีทดสอบแต่ละรายการ

ทุ่ง

AFTER_FAILED_TESTCASES

public static final BugreportCollector.Predicate AFTER_FAILED_TESTCASES

ตัวบ่งชี้ที่กำหนดไว้ล่วงหน้าซึ่งจะทำงานหลังจากกรณีทดสอบแต่ละรายการไม่สำเร็จ

AT_START

public static final BugreportCollector.Predicate AT_START

เพรดิเคตที่กำหนดไว้ล่วงหน้าซึ่งจะเริ่มทำงานเมื่อการเรียกใช้ครั้งแรกเริ่มต้นขึ้น

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

BugreportCollector

public BugreportCollector (ITestInvocationListener listener, 
                ITestDevice testDevice)

พารามิเตอร์
listener ITestInvocationListener

testDevice ITestDevice

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

addPredicate

public void addPredicate (BugreportCollector.Predicate p)

พารามิเตอร์
p BugreportCollector.Predicate

blockUntilIdle

public void blockUntilIdle ()

บล็อกจนกว่าตัวรวบรวมจะไม่รวบรวมรายงานข้อบกพร่อง หากตัวรวบรวมไม่ได้รวบรวมรายงานข้อบกพร่องอยู่ ให้กลับทันที

getSummary

public TestSummary getSummary ()

อนุญาตให้ InvocationListener แสดงผลสรุป

การคืนสินค้า
TestSummary TestSummary ที่สรุปการเรียกใช้ หรือ null

invocationEnded

public void invocationEnded (long elapsedTime)

รายงานว่าการเรียกใช้สิ้นสุดลงแล้ว ไม่ว่าจะสำเร็จหรือไม่ก็ตาม หรือเนื่องจากเงื่อนไขข้อผิดพลาดบางอย่าง

เฟรมเวิร์ก TradeFederation จะเรียกใช้โดยอัตโนมัติ

พารามิเตอร์
elapsedTime long: เวลาที่ผ่านไปของการเรียกใช้ในหน่วยมิลลิวินาที

invocationFailed

public void invocationFailed (Throwable cause)

รายงานการเรียกใช้ที่ไม่สมบูรณ์เนื่องจากเงื่อนไขข้อผิดพลาดบางอย่าง

เฟรมเวิร์ก TradeFederation จะเรียกใช้โดยอัตโนมัติ

พารามิเตอร์
cause Throwable: สาเหตุที่ Throwable ทำงานไม่สำเร็จ

invocationStarted

public void invocationStarted (IInvocationContext context)

รายงานการเริ่มต้นการเรียกใช้การทดสอบ

เฟรมเวิร์ก TradeFederation จะเรียกใช้โดยอัตโนมัติ ผู้รายงานต้องลบล้าง เมธอดนี้เพื่อรองรับการรายงานจากอุปกรณ์หลายเครื่อง

พารามิเตอร์
context IInvocationContext: ข้อมูลเกี่ยวกับการเรียกใช้

setAsynchronous

public void setAsynchronous (boolean asynchronous)

ตั้งค่าว่าจะให้การรวบรวมรายงานข้อบกพร่องรวบรวมรายงานข้อบกพร่องในเธรดอื่น (asynchronous = true) หรือบล็อกผู้โทรจนกว่าจะบันทึกรายงานข้อบกพร่องได้ (asynchronous = false)

พารามิเตอร์
asynchronous boolean

setDescriptiveName

public void setDescriptiveName (String name)

ตั้งชื่อที่สื่อความหมายที่จะใช้เมื่อบันทึกรายงานข้อบกพร่อง หาก null, BugreportCollector จะกลับไปใช้ลักษณะการทำงานเริ่มต้นของการจัดรูปแบบชื่อของ เหตุการณ์ที่ทำให้มีการรวบรวมรายงานข้อบกพร่อง

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

setDeviceWaitTime

public void setDeviceWaitTime (int waitTime)

ตั้งเวลา (เป็นวินาที) เพื่อรอให้อุปกรณ์ออนไลน์ก่อนที่เราจะพยายามบันทึก รายงานข้อบกพร่อง หากเป็นค่าลบ ระบบจะไม่ทำการตรวจสอบ ระบบจะบันทึกและข้าม DeviceNotAvailableException ที่พบระหว่างการตรวจสอบนี้

พารามิเตอร์
waitTime int

testAssumptionFailure

public void testAssumptionFailure (TestDescription test, 
                String trace)

เรียกใช้เมื่อการทดสอบแบบอะตอมแจ้งว่ามีการสมมติเงื่อนไขที่เป็นเท็จ

พารามิเตอร์
test TestDescription: ระบุการทดสอบ

trace String: สแต็กเทรซของความล้มเหลว

testEnded

public void testEnded (TestDescription test, 
                HashMap<String, MetricMeasurement.Metric> testMetrics)

รายงานจุดสิ้นสุดของการดำเนินการของกรณีทดสอบแต่ละรายการ

หากไม่ได้เรียกใช้ testFailed(TestDescription, FailureDescription) การทดสอบนี้จะผ่าน นอกจากนี้ยังแสดงผลเมตริกคีย์/ค่า ที่อาจมีการปล่อยออกมาในระหว่างการดำเนินการของกรณีทดสอบด้วย

พารามิเตอร์
test TestDescription: ระบุการทดสอบ

testMetrics HashMap: Map ของเมตริกที่ปล่อยออกมา

testFailed

public void testFailed (TestDescription test, 
                String trace)

รายงานความล้มเหลวของกรณีทดสอบแต่ละรายการ

จะเรียกใช้ระหว่าง testStarted และ testEnded

พารามิเตอร์
test TestDescription: ระบุการทดสอบ

trace String: สแต็กเทรซของความล้มเหลว

testIgnored

public void testIgnored (TestDescription test)

เรียกใช้เมื่อจะไม่ทำการทดสอบ โดยทั่วไปเนื่องจากมีการใส่คำอธิบายประกอบเมธอดทดสอบด้วย org.junit.Ignore

พารามิเตอร์
test TestDescription: ระบุการทดสอบ

testLog

public void testLog (String dataName, 
                LogDataType dataType, 
                InputStreamSource dataStream)

แสดงบันทึกหรือข้อมูลการแก้ไขข้อบกพร่องที่เกี่ยวข้องจากการเรียกใช้การทดสอบ

ต้องเรียกใช้ก่อน ERROR(ITestInvocationListener.invocationFailed(Throwable)/ITestInvocationListener#invocationFailed(java.lang.Throwable) ITestInvocationListener.invocationFailed(Throwable)) หรือ ERROR(/ITestInvocationListener#invocationEnded(long))

เฟรมเวิร์ก TradeFederation จะเรียกใช้เมธอดนี้โดยอัตโนมัติ พร้อมระบุบันทึกของโฮสต์ และหากเกี่ยวข้อง ก็จะระบุ logcat ของอุปกรณ์ด้วย

พารามิเตอร์
dataName String: String ชื่อที่สื่อความหมายของข้อมูล เช่น "device_logcat" หมายเหตุ dataName อาจไม่ซ้ำกันต่อการเรียกใช้ 1 ครั้ง กล่าวคือ ผู้ใช้ต้องสามารถจัดการ การเรียกหลายครั้งที่มี dataName เดียวกันได้

dataType LogDataType: LogDataType ของข้อมูล

dataStream InputStreamSource: InputStreamSource ของข้อมูล ผู้ใช้ควรเรียกใช้ createInputStream เพื่อเริ่มอ่านข้อมูล และตรวจสอบว่าได้ปิด InputStream ที่ได้เมื่อดำเนินการเสร็จแล้ว ผู้โทรควรตรวจสอบว่าแหล่งที่มาของข้อมูลยังคง อยู่และเข้าถึงได้จนกว่าเมธอด testLog จะเสร็จสมบูรณ์

testRunEnded

public void testRunEnded (long elapsedTime, 
                HashMap<String, MetricMeasurement.Metric> runMetrics)

รายงานสิ้นสุดการทดสอบ FIXME: We cannot have two Map<> interfaces with different type, so we have to use HashMap here.

พารามิเตอร์
elapsedTime long: อุปกรณ์รายงานเวลาที่ผ่านไปเป็นมิลลิวินาที

runMetrics HashMap: คู่คีย์-ค่าที่รายงานเมื่อสิ้นสุดการทดสอบด้วย Metric

testRunFailed

public void testRunFailed (String errorMessage)

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

พารามิเตอร์
errorMessage String: String อธิบายเหตุผลที่การเรียกใช้ล้มเหลว

testRunStarted

public void testRunStarted (String runName, 
                int testCount)

รายงานการเริ่มต้นการทดสอบ

พารามิเตอร์
runName String: ชื่อการทดสอบ

testCount int: จำนวนการทดสอบทั้งหมดในการทดสอบ

testRunStopped

public void testRunStopped (long elapsedTime)

การทดสอบรายงานหยุดก่อนที่จะเสร็จสมบูรณ์เนื่องจากคำขอของผู้ใช้

TODO: currently unused, consider removing

พารามิเตอร์
elapsedTime long: อุปกรณ์รายงานเวลาที่ผ่านไปเป็นมิลลิวินาที

testStarted

public void testStarted (TestDescription test)

รายงานจุดเริ่มต้นของกรณีทดสอบแต่ละรายการ อินเทอร์เฟซรุ่นเก่าควรใช้ testStarted(TestDescription) เมื่อเป็นไปได้

พารามิเตอร์
test TestDescription: ระบุการทดสอบ