BugreportCollector

public class BugreportCollector
extends Object implements ITestInvocationListener

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


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

ลักษณะการทำงาน: (FIXME: เสร็จสิ้น)

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

สรุป

ชั้นเรียนที่ซ้อนกัน

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

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

void testFailed(TestDescription test, String trace)

รายงานการทดสอบแต่ละรายการไม่ผ่าน

void testIgnored(TestDescription test)

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

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

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

void testRunEnded(long elapsedTime, 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: เวลาผ่านไปของคําเรียกเป็นมิลลิวินาที

การเรียกใช้ล้มเหลว

public void invocationFailed (Throwable cause)

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

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

พารามิเตอร์
cause Throwable: Throwable สาเหตุของการไม่สําเร็จ

invocationStarted

public void invocationStarted (IInvocationContext context)

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

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

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

ตั้งค่าแบบอะซิงโครนัส

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

รายงานการสิ้นสุดการดําเนินการของเคสทดสอบแต่ละรายการ

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

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

testMetrics : ERROR(/Map) ของเมตริกที่ส่งออก

การทดสอบล้มเหลว

public void testFailed (TestDescription test, 
                String trace)

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

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

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

trace String: สแต็กเทรซของข้อผิดพลาด

ละเว้นการทดสอบแล้ว

public void testIgnored (TestDescription test)

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

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

testLog

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

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

ต้องเรียกใช้ก่อน ERROR(/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 จะเสร็จสมบูรณ์

สิ้นสุดการทดสอบแล้ว

public void testRunEnded (long elapsedTime, 
                 runMetrics)

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

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

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

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(com.android.tradefed.result.TestDescription) เมื่อเป็นไปได้

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