ผู้รวบรวมรายงานข้อบกพร่อง
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)
ตั้งค่าว่าการรวบรวมรายงานข้อบกพร่องในชุดข้อความอื่นควรรวบรวมรายงานข้อบกพร่องไหม
( |
void
|
setDescriptiveName(String name)
ตั้งชื่อที่สื่อความหมายที่จะใช้เมื่อบันทึกรายงานข้อบกพร่อง |
void
|
setDeviceWaitTime(int waitTime)
ตั้งเวลา (เป็นวินาที) ที่รอให้อุปกรณ์ออนไลน์ก่อนที่เราจะจับภาพ รายงานข้อบกพร่อง |
void
|
testAssumptionFailure(TestDescription test, String trace)
เรียกใช้เมื่อตัวบ่งชี้การทดสอบแบบอะตอมระบุว่ามีเงื่อนไขที่เป็นเท็จ |
void
|
testEnded(TestDescription test,
รายงานการสิ้นสุดการดำเนินการของกรอบการทดสอบแต่ละรายการ |
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,
สิ้นสุดการทดสอบรายงาน |
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 : ระบุการทดสอบ |