ResultDBReporter
public
class
ResultDBReporter
extends Object
implements
IConfigurationReceiver,
ILogSaverListener,
ISupportGranularResults,
ITestSummaryListener
| java.lang.Object | |
| ↳ | com.android.tradefed.result.resultdb.ResultDBReporter |
เครื่องมือรายงานผลลัพธ์ที่อัปโหลดผลการทดสอบไปยัง ResultDB
สรุป
ฟิลด์ | |
|---|---|
protected
IInvocationContext |
mContext
|
protected
boolean |
mEnableAlTestProperties
|
เครื่องมือสร้างสาธารณะ | |
|---|---|
ResultDBReporter()
|
|
เมธอดสาธารณะ | |
|---|---|
TestSummary
|
getSummary()
อนุญาตให้ InvocationListener แสดงผลสรุป |
void
|
invocationEnded(long elapsedTime)
รายงานว่าการเรียกใช้สิ้นสุดลงแล้ว ไม่ว่าจะสำเร็จหรือไม่ก็ตาม หรือเนื่องจากเงื่อนไขข้อผิดพลาดบางอย่าง |
void
|
invocationFailed(FailureDescription failure)
รายงานการเรียกใช้ที่ไม่สมบูรณ์เนื่องจากเงื่อนไขข้อผิดพลาดบางอย่าง |
void
|
invocationFailed(Throwable cause)
รายงานการเรียกใช้ที่ไม่สมบูรณ์เนื่องจากเงื่อนไขข้อผิดพลาดบางอย่าง |
void
|
invocationSkipped(SkipReason reason)
รายงานการเรียกใช้ว่าข้าม |
void
|
invocationStarted(IInvocationContext context)
รายงานการเริ่มต้นการเรียกใช้การทดสอบ |
boolean
|
isDisabled()
|
void
|
logAssociation(String dataName, LogFile logFile)
ในบางกรณี บันทึกต้องเชื่อมโยงกับกรณีทดสอบอย่างใกล้ชิด แต่ไม่สามารถดำเนินการดังกล่าวใน |
void
|
setConfiguration(IConfiguration configuration)
แทรก |
void
|
setLogSaver(ILogSaver logSaver)
ตั้งค่า |
boolean
|
supportGranularResults()
แสดงค่า True หากผู้รายงานรองรับผลลัพธ์แบบละเอียด หรือแสดงค่า False หากไม่รองรับ |
void
|
testAssumptionFailure(TestDescription test, String trace)
เรียกใช้เมื่อการทดสอบแบบอะตอมแจ้งว่ามีการสมมติเงื่อนไขที่เป็นเท็จ |
void
|
testAssumptionFailure(TestDescription test, FailureDescription failure)
เรียกใช้เมื่อการทดสอบแบบอะตอมแจ้งว่ามีการสมมติเงื่อนไขที่เป็นเท็จ |
void
|
testEnded(TestDescription test, long endTime, HashMap<String, MetricMeasurement.Metric> testMetrics)
ทางเลือกแทน |
void
|
testEnded(TestDescription test, HashMap<String, MetricMeasurement.Metric> testMetrics)
รายงานจุดสิ้นสุดของการดำเนินการของกรณีทดสอบแต่ละรายการ |
void
|
testFailed(TestDescription test, FailureDescription failure)
รายงานความล้มเหลวของกรณีทดสอบแต่ละรายการ |
void
|
testFailed(TestDescription test, String trace)
รายงานความล้มเหลวของกรณีทดสอบแต่ละรายการ |
void
|
testIgnored(TestDescription test)
เรียกใช้เมื่อจะไม่ทำการทดสอบ โดยทั่วไปเนื่องจากมีการใส่คำอธิบายประกอบเมธอดทดสอบด้วย org.junit.Ignore |
void
|
testLog(String dataName, LogDataType dataType, InputStreamSource dataStream)
แสดงบันทึกหรือข้อมูลการแก้ไขข้อบกพร่องที่เกี่ยวข้องจากการเรียกใช้การทดสอบ |
void
|
testModuleEnded()
รายงานการสิ้นสุดการเรียกใช้โมดูล |
void
|
testModuleStarted(IInvocationContext moduleContext)
รายงานการเริ่มต้นการทำงานของโมดูล |
void
|
testRunEnded(long elapsedTimeMillis, HashMap<String, MetricMeasurement.Metric> runMetrics)
รายงานสิ้นสุดการทดสอบ |
void
|
testRunFailed(FailureDescription failure)
การทดสอบการเรียกใช้รายงานไม่สำเร็จเนื่องจากความล้มเหลวที่อธิบายโดย |
void
|
testRunFailed(String errorMessage)
การทดสอบการเรียกใช้รายงานไม่สำเร็จเนื่องจากเกิดข้อผิดพลาดร้ายแรง |
void
|
testRunStarted(String runName, int testCount, int attemptNumber)
รายงานการเริ่มต้นการทดสอบ |
void
|
testRunStarted(String runName, int testCount)
รายงานการเริ่มต้นการทดสอบ |
void
|
testRunStarted(String runName, int testCount, int attemptNumber, long startTime)
รายงานการเริ่มต้นการทดสอบ |
void
|
testRunStopped(long elapsedTime)
การทดสอบรายงานหยุดก่อนที่จะเสร็จสมบูรณ์เนื่องจากคำขอของผู้ใช้ |
void
|
testSkipped(TestDescription test, SkipReason reason)
เรียกใช้เมื่อข้ามการทดสอบและไม่ได้ดำเนินการด้วยเหตุผลที่ไม่คาดคิด |
void
|
testStarted(TestDescription test, long startTime)
ทางเลือกแทน |
void
|
testStarted(TestDescription test)
รายงานจุดเริ่มต้นของกรณีทดสอบแต่ละรายการ |
void
|
uploadStoragePath(String resourceId, String storagePath, LogFile logFile)
อัปโหลดเส้นทางการจัดเก็บอาร์ติแฟกต์การทดสอบ AnTS ไปยัง ResultDB |
ทุ่ง
mEnableAlTestProperties
protected boolean mEnableAlTestProperties
เครื่องมือสร้างสาธารณะ
ResultDBReporter
public ResultDBReporter ()
เมธอดสาธารณะ
getSummary
public TestSummary getSummary ()
อนุญาตให้ InvocationListener แสดงผลสรุป
| การคืนสินค้า | |
|---|---|
TestSummary |
TestSummary ที่สรุปการเรียกใช้ หรือ null |
invocationEnded
public void invocationEnded (long elapsedTime)
รายงานว่าการเรียกใช้สิ้นสุดลงแล้ว ไม่ว่าจะสำเร็จหรือไม่ก็ตาม หรือเนื่องจากเงื่อนไขข้อผิดพลาดบางอย่าง
เฟรมเวิร์ก TradeFederation จะเรียกใช้โดยอัตโนมัติ
| พารามิเตอร์ | |
|---|---|
elapsedTime |
long: เวลาที่ผ่านไปของการเรียกใช้ในหน่วยมิลลิวินาที |
invocationFailed
public void invocationFailed (FailureDescription failure)
รายงานการเรียกใช้ที่ไม่สมบูรณ์เนื่องจากเงื่อนไขข้อผิดพลาดบางอย่าง
เฟรมเวิร์ก TradeFederation จะเรียกใช้โดยอัตโนมัติ
| พารามิเตอร์ | |
|---|---|
failure |
FailureDescription: FailureDescription ที่อธิบายสาเหตุของการดำเนินการไม่สำเร็จ |
invocationFailed
public void invocationFailed (Throwable cause)
รายงานการเรียกใช้ที่ไม่สมบูรณ์เนื่องจากเงื่อนไขข้อผิดพลาดบางอย่าง
เฟรมเวิร์ก TradeFederation จะเรียกใช้โดยอัตโนมัติ
| พารามิเตอร์ | |
|---|---|
cause |
Throwable: สาเหตุที่ Throwable ทำงานไม่สำเร็จ |
invocationSkipped
public void invocationSkipped (SkipReason reason)
รายงานการเรียกใช้ว่าข้าม
| พารามิเตอร์ | |
|---|---|
reason |
SkipReason |
invocationStarted
public void invocationStarted (IInvocationContext context)
รายงานการเริ่มต้นการเรียกใช้การทดสอบ
เฟรมเวิร์ก TradeFederation จะเรียกใช้โดยอัตโนมัติ ผู้รายงานต้องลบล้าง เมธอดนี้เพื่อรองรับการรายงานจากอุปกรณ์หลายเครื่อง
| พารามิเตอร์ | |
|---|---|
context |
IInvocationContext: ข้อมูลเกี่ยวกับการเรียกใช้ |
isDisabled
public boolean isDisabled ()
| การคืนสินค้า | |
|---|---|
boolean |
|
logAssociation
public void logAssociation (String dataName,
LogFile logFile)ในบางกรณี บันทึกต้องเชื่อมโยงกับกรณีทดสอบอย่างใกล้ชิด แต่ไม่สามารถดำเนินการดังกล่าวในtestLogSaved(String,LogDataType,InputStreamSource,LogFile)
การเรียกกลับโดยตรงได้ ดังนั้น Callback นี้จึงช่วยให้เชื่อมโยงได้อย่างชัดเจน
| พารามิเตอร์ | |
|---|---|
dataName |
String: ชื่อข้อมูล |
logFile |
LogFile: LogFile ที่บันทึกไว้ก่อนหน้านี้และควรเชื่อมโยงกับ
กรณีทดสอบ |
setConfiguration
public void setConfiguration (IConfiguration configuration)
แทรก IConfiguration ที่ใช้งานอยู่
| พารามิเตอร์ | |
|---|---|
configuration |
IConfiguration |
setLogSaver
public void setLogSaver (ILogSaver logSaver)
ตั้งค่า ILogSaver เพื่ออนุญาตให้ผู้ติดตั้งใช้งานบันทึกไฟล์
| พารามิเตอร์ | |
|---|---|
logSaver |
ILogSaver: ILogSaver |
supportGranularResults
public boolean supportGranularResults ()
แสดงค่า True หากผู้รายงานรองรับผลลัพธ์แบบละเอียด หรือแสดงค่า False หากไม่รองรับ
| การคืนสินค้า | |
|---|---|
boolean |
|
testAssumptionFailure
public void testAssumptionFailure (TestDescription test, String trace)
เรียกใช้เมื่อการทดสอบแบบอะตอมแจ้งว่ามีการสมมติเงื่อนไขที่เป็นเท็จ
| พารามิเตอร์ | |
|---|---|
test |
TestDescription: ระบุการทดสอบ |
trace |
String: สแต็กเทรซของความล้มเหลว |
testAssumptionFailure
public void testAssumptionFailure (TestDescription test, FailureDescription failure)
เรียกใช้เมื่อการทดสอบแบบอะตอมแจ้งว่ามีการสมมติเงื่อนไขที่เป็นเท็จ
| พารามิเตอร์ | |
|---|---|
test |
TestDescription: ระบุการทดสอบ |
failure |
FailureDescription: FailureDescription อธิบายความล้มเหลวและบริบทของความล้มเหลวนั้น |
testEnded
public void testEnded (TestDescription test, long endTime, HashMap<String, MetricMeasurement.Metric> testMetrics)
ทางเลือกแทน testEnded(TestDescription,Map) ซึ่งเราสามารถระบุเวลาสิ้นสุด
ได้โดยตรง รวมกับ testStarted(TestDescription,long) เพื่อการวัดที่แม่นยำ
| พารามิเตอร์ | |
|---|---|
test |
TestDescription: ระบุการทดสอบ |
endTime |
long: เวลาที่การทดสอบสิ้นสุดลง ซึ่งวัดผ่าน System.currentTimeMillis() |
testMetrics |
HashMap: Map ของเมตริกที่ปล่อยออกมา |
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, FailureDescription failure)
รายงานความล้มเหลวของกรณีทดสอบแต่ละรายการ
จะเรียกใช้ระหว่าง testStarted และ testEnded
| พารามิเตอร์ | |
|---|---|
test |
TestDescription: ระบุการทดสอบ |
failure |
FailureDescription: FailureDescription อธิบายความล้มเหลวและบริบทของความล้มเหลวนั้น |
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 จะเสร็จสมบูรณ์ |
testModuleEnded
public void testModuleEnded ()
รายงานการสิ้นสุดการเรียกใช้โมดูล
testModuleStarted
public void testModuleStarted (IInvocationContext moduleContext)
รายงานการเริ่มต้นการทำงานของโมดูล โดยการเรียกกลับนี้เชื่อมโยงกับ testModuleEnded() และเป็นแบบไม่บังคับในลำดับ โดยจะใช้เฉพาะในระหว่างการเรียกใช้ที่ใช้โมดูล
ซึ่งเป็นโปรแกรมเรียกใช้ตามชุดทดสอบ
| พารามิเตอร์ | |
|---|---|
moduleContext |
IInvocationContext: IInvocationContext ของโมดูล |
testRunEnded
public void testRunEnded (long elapsedTimeMillis,
HashMap<String, MetricMeasurement.Metric> runMetrics)รายงานสิ้นสุดการทดสอบ FIXME: We cannot have two Map<> interfaces with different type, so we have to use HashMap here.
| พารามิเตอร์ | |
|---|---|
elapsedTimeMillis |
long: อุปกรณ์รายงานเวลาที่ผ่านไปเป็นมิลลิวินาที |
runMetrics |
HashMap: คู่คีย์-ค่าที่รายงานเมื่อสิ้นสุดการทดสอบด้วย Metric |
testRunFailed
public void testRunFailed (FailureDescription failure)
การทดสอบการเรียกใช้รายงานไม่สำเร็จเนื่องจากความล้มเหลวที่อธิบายโดย FailureDescription
| พารามิเตอร์ | |
|---|---|
failure |
FailureDescription: FailureDescription อธิบายความล้มเหลวและบริบทของความล้มเหลวนั้น |
testRunFailed
public void testRunFailed (String errorMessage)
การทดสอบการเรียกใช้รายงานไม่สำเร็จเนื่องจากเกิดข้อผิดพลาดร้ายแรง
| พารามิเตอร์ | |
|---|---|
errorMessage |
String: String อธิบายเหตุผลที่การเรียกใช้ล้มเหลว |
testRunStarted
public void testRunStarted (String runName,
int testCount,
int attemptNumber)รายงานการเริ่มต้นการทดสอบ
| พารามิเตอร์ | |
|---|---|
runName |
String: ชื่อการทดสอบ |
testCount |
int: จำนวนการทดสอบทั้งหมดในการทดสอบ |
attemptNumber |
int: หมายเลขคำสั่งซื้อ ซึ่งระบุความพยายามต่างๆ ของ runName เดียวกัน
ที่เรียกใช้หลายครั้ง attemptNumber มีดัชนีเป็น 0 และควรเพิ่มขึ้นทุกครั้งที่
มีการเรียกใช้ใหม่ เช่น หากมีการลองใหม่แบบละเอียด 3 ครั้ง การทดสอบควรมีการเรียกใช้ทั้งหมด 4 ครั้ง
ภายใต้ runName เดียวกัน และ attemptNumber จะมีค่าตั้งแต่ 0 ถึง 3 |
testRunStarted
public void testRunStarted (String runName,
int testCount)รายงานการเริ่มต้นการทดสอบ
| พารามิเตอร์ | |
|---|---|
runName |
String: ชื่อการทดสอบ |
testCount |
int: จำนวนการทดสอบทั้งหมดในการทดสอบ |
testRunStarted
public void testRunStarted (String runName,
int testCount,
int attemptNumber,
long startTime)รายงานการเริ่มต้นการทดสอบ
| พารามิเตอร์ | |
|---|---|
runName |
String: ชื่อการทดสอบ |
testCount |
int: จำนวนการทดสอบทั้งหมดในการทดสอบ |
attemptNumber |
int: หมายเลขคำสั่งซื้อ ซึ่งระบุความพยายามต่างๆ ของ runName เดียวกัน
ที่เรียกใช้หลายครั้ง attemptNumber จะมีดัชนีเป็น 0 และควรเพิ่มขึ้นทุกครั้งที่มีการเรียกใช้ใหม่ เช่น หากมีการลองใหม่แบบละเอียด 3 ครั้ง การทดสอบควรมีการเรียกใช้ทั้งหมด 4 ครั้งภายใต้ runName เดียวกัน และ attemptNumber จะมีค่าตั้งแต่ 0 ถึง 3 |
startTime |
long: เวลาที่การวิ่งเริ่มต้น ซึ่งวัดผ่าน System.currentTimeMillis() |
testRunStopped
public void testRunStopped (long elapsedTime)
การทดสอบรายงานหยุดก่อนที่จะเสร็จสมบูรณ์เนื่องจากคำขอของผู้ใช้
TODO: currently unused, consider removing
| พารามิเตอร์ | |
|---|---|
elapsedTime |
long: อุปกรณ์รายงานเวลาที่ผ่านไปเป็นมิลลิวินาที |
testSkipped
public void testSkipped (TestDescription test, SkipReason reason)
เรียกใช้เมื่อข้ามการทดสอบและไม่ได้ดำเนินการด้วยเหตุผลที่ไม่คาดคิด ระบบจะพยายามลองทดสอบเหล่านี้อีกครั้งเพื่อให้ดำเนินการได้อย่างถูกต้อง
| พารามิเตอร์ | |
|---|---|
test |
TestDescription: ระบุการทดสอบ |
reason |
SkipReason: SkipReason |
testStarted
public void testStarted (TestDescription test, long startTime)
ทางเลือกแทน testStarted(TestDescription) ซึ่งเรายังระบุเวลาที่เริ่มการทดสอบ
ร่วมกับ testEnded(TestDescription,long,Map) เพื่อการวัดที่แม่นยำ
| พารามิเตอร์ | |
|---|---|
test |
TestDescription: ระบุการทดสอบ |
startTime |
long: เวลาที่การทดสอบเริ่มต้น วัดผ่าน System.currentTimeMillis() |
testStarted
public void testStarted (TestDescription test)
รายงานจุดเริ่มต้นของกรณีทดสอบแต่ละรายการ อินเทอร์เฟซรุ่นเก่าควรใช้ testStarted(TestDescription) เมื่อเป็นไปได้
| พารามิเตอร์ | |
|---|---|
test |
TestDescription: ระบุการทดสอบ |
uploadStoragePath
public void uploadStoragePath (String resourceId,
String storagePath,
LogFile logFile)อัปโหลดเส้นทางการจัดเก็บอาร์ติแฟกต์การทดสอบ AnTS ไปยัง ResultDB
นี่เป็นโซลูชันชั่วคราวสำหรับการย้ายข้อมูลจาก AnTS ไปยัง ResultDB (ดู go/convergence-tr) ผู้รายงาน AnTS ควรเรียกใช้เมธอดนี้เมื่อเส้นทางการจัดเก็บของอาร์ติแฟกต์พร้อมใช้งาน
ผู้รายงาน AnTS รับประกันว่าจะเรียกใช้วิธีนี้สำหรับอาร์ติแฟกต์ทุกรายการที่อัปโหลด ผู้รายงาน
นี้จะอัปโหลดอาร์ติแฟกต์ดังกล่าวทั้งหมดไปยัง ResultDB พร้อมการเชื่อมโยงการทดสอบที่ถูกต้อง
ต้องเรียกใช้ logAssociation(String,LogFile) สำหรับรหัสทรัพยากรเดียวกันก่อนหน้านี้เพื่อให้เชื่อมโยงบันทึกได้อย่างถูกต้อง ซึ่งช่วยให้มั่นใจได้ว่าระบบติดตามอาร์ติแฟกต์
อยู่แล้ว ไม่เช่นนั้น อาร์ติแฟกต์จะเชื่อมโยงกับหน่วยงานระดับบนสุด
ของการเรียกใช้ Tradefed
ห้ามเรียกใช้เมธอดนี้ก่อน invocationStarted(IInvocationContext) คุณเรียกใช้ได้หลังจาก invocationEnded(long) สำหรับการเรียกใช้ที่จัดการโดยระบบต้นทาง เนื่องจากเครื่องมือรายงานนี้ไม่ได้สรุปผล การดำเนินการนี้ไม่มีผลกับการเรียกใช้ที่สร้างขึ้นในเครื่อง
ซึ่งจะเสร็จสมบูรณ์ใน invocationEnded(long)
TODO(b/464941055): Remove this method once we can properly migrate AnTS artifacts to ResultDB.
| พารามิเตอร์ | |
|---|---|
resourceId |
String: รหัสทรัพยากรของอาร์ติแฟกต์ |
storagePath |
String: เส้นทางการจัดเก็บของอาร์ติแฟกต์ (เช่น เส้นทาง /bigstore/) |
logFile |
LogFile: ออบเจ็กต์ LogFile ที่เชื่อมโยงกับอาร์ติแฟกต์ |