BugreportCollector

public class BugreportCollector
extends Object implements ITestInvocationListener

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


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

ลักษณะการทํางาน: (แก้ไข: เขียนให้เสร็จ)

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

สรุป

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

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)

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

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)

รายงานการเริ่มต้นของ Test Case แต่ละรายการ

ช่อง

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

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

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

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

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

testFailed

public void testFailed (TestDescription test, 
                String trace)

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

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

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

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

testIgnored

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 จะเสร็จสมบูรณ์

testRunEnded

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)

รายงานการเริ่มต้นของ Test Case แต่ละรายการ อินเทอร์เฟซเก่า ควรใช้ testStarted(com.android.tradefed.result.TestDescription) เมื่อเป็นไปได้

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