ผู้รวบรวมรายงานข้อบกพร่อง

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)

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

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

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

void testRunFailed(String errorMessage)

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

void testRunStarted(String runName, int testCount)

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

void testRunStopped(long elapsedTime)

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

void testStarted(TestDescription test)

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

ช่อง

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

public static final BugreportCollector.Predicate AFTER_FAILED_TESTCASES

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

AT_START

public static final BugreportCollector.Predicate AT_START

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

ช่างก่อสร้างสาธารณะ

ผู้รวบรวมรายงานข้อบกพร่อง

public BugreportCollector (ITestInvocationListener listener, 
                ITestDevice testDevice)

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

testDevice ITestDevice

วิธีการสาธารณะ

เพิ่มภาคแสดง

public void addPredicate (BugreportCollector.Predicate p)

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

บล็อกจนกว่าจะไม่มีการใช้งาน

public void blockUntilIdle ()

บล็อกจนกว่าผู้รวบรวมจะไม่รวบรวมรายงานข้อบกพร่องใดๆ หากผู้รวบรวมไม่ได้มีการเคลื่อนไหว กำลังรวบรวมรายงานข้อบกพร่อง ส่งคืนทันที

getสรุป

public TestSummary getSummary ()

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

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

สิ้นสุดการเรียกใช้

public void invocationEnded (long elapsedTime)

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

จะถูกเรียกโดยอัตโนมัติโดยเฟรมเวิร์ก TradeFederation

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

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

public void invocationFailed (Throwable cause)

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

จะถูกเรียกโดยอัตโนมัติโดยเฟรมเวิร์ก TradeFederation

พารามิเตอร์
cause Throwable: สาเหตุ Throwable ของความล้มเหลว

เริ่มคำขอแล้ว

public void invocationStarted (IInvocationContext context)

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

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

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

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

public void setAsynchronous (boolean asynchronous)

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

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

ตั้งชื่อคำอธิบาย

public void setDescriptiveName (String name)

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

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

ตั้งค่าเวลารอของอุปกรณ์

public void setDeviceWaitTime (int waitTime)

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

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

testAssumptionFailure

public void testAssumptionFailure (TestDescription test, 
                String trace)

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

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

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

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

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)

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

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

บันทึกการทดสอบ

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 อาจซ้ำกันต่อการเรียกใช้ คือผู้ติดตั้งใช้งานจะต้องสามารถ การโทรหลายครั้งโดยใช้ dataName เดียวกัน

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

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

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

public void testRunEnded (long elapsedTime, 
                 runMetrics)

สิ้นสุดการทดสอบรายงาน แก้ไข: เราไม่สามารถมีแผนที่ 2 แบบ<> ที่มีอินเทอร์เฟซหลายประเภท ดังนั้น เราต้องใช้ HashMap ตรงนี้

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

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

testRunFailed

public void testRunFailed (String errorMessage)

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

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

เริ่มการทดสอบแล้ว

public void testRunStarted (String runName, 
                int testCount)

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

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

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

หยุดการทดสอบแล้ว

public void testRunStopped (long elapsedTime)

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

สิ่งที่ต้องทำ: ยังไม่ได้ใช้ในขณะนี้ ลองพิจารณาลบ

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

เริ่มทดสอบแล้ว

public void testStarted (TestDescription test)

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

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