گردآورنده گزارشهای باگر
public class BugreportCollector
extends Object implements ITestInvocationListener
| شیء جاوا | |
| ↳ | com.android.tradefed.result.BugreportCollector |
یک ITestInvocationListener عبوری که گزارشهای اشکال را هنگام وقوع رویدادهای قابل تنظیم جمعآوری میکند و سپس پس از جمعآوری هر گزارش اشکال ITestInvocationListener.testLog را روی فرزندان خود فراخوانی میکند.
رفتارها: (اصلاح: اینو تموم کن)
- اگر هر کدام از موارد آزمایشی با شکست مواجه شدند، پس از هر مورد، ضبط کنید
- بعد از هر مورد آزمایشی، ضبط کنید
- بعد از هر مورد آزمایشی ناموفق، ضبط کنید
- ضبط
خلاصه
کلاسهای تو در تو | |
|---|---|
class | BugreportCollector.Predicateیک گزاره کامل که زمان ثبت گزارش اشکال (bugreport) را توصیف میکند. |
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) تنظیم کنید که آیا مجموعه bugreport باید bugreport را در یک thread متفاوت جمعآوری کند ( |
void | setDescriptiveName (String name)نام توصیفی را برای استفاده هنگام ضبط گزارشهای اشکال تنظیم کنید. |
void | setDeviceWaitTime (int waitTime)زمان (به ثانیه) را برای آنلاین شدن دستگاه قبل از تلاش برای ثبت گزارش اشکال تنظیم کنید. |
void | testAssumptionFailure ( TestDescription test, String trace)زمانی فراخوانی میشود که یک آزمایش اتمی، شرطی را نادرست فرض کند. |
void | testEnded ( TestDescription test, HashMap<String, MetricMeasurement.Metric> testMetrics)پایان اجرای یک مورد آزمایشی (test case) را گزارش میدهد. |
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, HashMap<String, MetricMeasurement.Metric> runMetrics)پایان اجرای آزمایش را گزارش میدهد. |
void | testRunFailed (String errorMessage)گزارشها حاکی از آن است که اجرای آزمایشی به دلیل یک خطای مهلک با شکست مواجه شده است. |
void | testRunStarted (String runName, int testCount)شروع یک آزمایش را گزارش میدهد. |
void | testRunStopped (long elapsedTime)گزارش میدهد که اجرای آزمایشی به دلیل درخواست کاربر قبل از تکمیل متوقف شده است. |
void | testStarted ( TestDescription test)شروع یک مورد آزمایشی (test case) منفرد را گزارش میدهد. |
فیلدها
موارد آزمایشی ناموفق پس از
public static final BugreportCollector.Predicate AFTER_FAILED_TESTCASES
یک گزاره از پیش تعریف شده که پس از هر مورد آزمایشی ناموفق اجرا میشود
شروع_AT
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 |
بلوکUntilIdle
public void blockUntilIdle ()
تا زمانی که جمعکننده هیچ گزارش اشکالی را جمعآوری نکند، مسدود کنید. اگر جمعکننده به طور فعال گزارش اشکالی را جمعآوری نمیکند، فوراً برگردید
خلاصه دریافت
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)
تنظیم کنید که آیا مجموعه bugreport باید bugreport را در یک thread متفاوت جمعآوری کند ( asynchronous = true )، یا تا زمانی که bugreport دریافت شود، فراخواننده را مسدود کند ( asynchronous = false ).
| پارامترها | |
|---|---|
asynchronous | boolean |
setDescriptiveName
public void setDescriptiveName (String name)
نام توصیفی را برای استفاده هنگام ضبط گزارشهای اشکال (bugreports) تنظیم کنید. اگر null ، BugreportCollector به رفتار پیشفرض سریالسازی نام رویدادی که باعث جمعآوری گزارش اشکال شده است، برمیگردد.
| پارامترها | |
|---|---|
name | String |
تنظیم زمان انتظار دستگاه
public void setDeviceWaitTime (int waitTime)
زمان (به ثانیه) را برای انتظار آنلاین شدن دستگاه قبل از تلاش برای ثبت گزارش اشکال تنظیم کنید. در صورت منفی بودن، هیچ بررسی انجام نخواهد شد. هرگونه DeviceNotAvailableException که در طول این بررسی با آن مواجه شوید، ثبت و نادیده گرفته میشود.
| پارامترها | |
|---|---|
waitTime | int |
آزمون فرض شکست
public void testAssumptionFailure (TestDescription test, String trace)
زمانی فراخوانی میشود که یک آزمایش اتمی، شرطی را نادرست فرض کند.
| پارامترها | |
|---|---|
test | TestDescription : تست را مشخص میکند. |
trace | String : ردپای پشته از خرابی |
آزمون پایان یافت
public void testEnded (TestDescription test, HashMap<String, MetricMeasurement.Metric> testMetrics)
پایان اجرای یک مورد آزمایشی (test case) را گزارش میدهد.
اگر testFailed(TestDescription, FailureDescription) فراخوانی نشده باشد، این تست با موفقیت انجام شده است. همچنین هر معیار کلید/مقداری را که ممکن است در طول اجرای مورد تست منتشر شده باشد، برمیگرداند.
| پارامترها | |
|---|---|
test | TestDescription : تست را مشخص میکند. |
testMetrics | HashMap : 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)/ITestInvocationListener#invocationFailed(java.lang.Throwable) ITestInvocationListener.invocationFailed(Throwable)) یا ERROR(/ITestInvocationListener#invocationEnded(long)) فراخوانی شود.
چارچوب TradeFederation به طور خودکار این متد را فراخوانی میکند و گزارش میزبان و در صورت لزوم، گزارش دستگاه را ارائه میدهد.
| پارامترها | |
|---|---|
dataName | String : یک نام توصیفی String از دادهها. مثلاً "device_logcat". توجه داشته باشید که dataName ممکن است در هر فراخوانی منحصر به فرد نباشد. یعنی پیادهسازیکنندگان باید بتوانند چندین فراخوانی را با همان dataName مدیریت کنند. |
dataType | LogDataType : نوع دادهی LogDataType |
dataStream | InputStreamSource : InputStreamSource دادهها. پیادهسازیکنندگان باید createInputStream را برای شروع خواندن دادهها فراخوانی کنند و اطمینان حاصل کنند که InputStream حاصل را پس از اتمام ببندند. فراخوانیکنندگان باید اطمینان حاصل کنند که منبع دادهها تا زمان تکمیل متد testLog موجود و در دسترس باقی میماند. |
تست اجرا شده
public void testRunEnded (long elapsedTime,
HashMap<String, MetricMeasurement.Metric> runMetrics)پایان اجرای تست را گزارش میدهد. رفع مشکل: ما نمیتوانیم دو رابط Map<> با انواع مختلف داشته باشیم، بنابراین باید از HashMap در اینجا استفاده کنیم.
| پارامترها | |
|---|---|
elapsedTime | long : زمان سپری شده گزارش شده توسط دستگاه، بر حسب میلی ثانیه |
runMetrics | HashMap : جفتهای کلید-مقدار که در پایان اجرای تست با Metric گزارش میشوند. |
تست اجرا ناموفق
public void testRunFailed (String errorMessage)
گزارشها حاکی از آن است که اجرای آزمایشی به دلیل یک خطای مهلک با شکست مواجه شده است.
| پارامترها | |
|---|---|
errorMessage | String : String دلیل عدم موفقیت در اجرا را توصیف میکند. |
تست شروع شد
public void testRunStarted (String runName,
int testCount)شروع یک آزمایش را گزارش میدهد.
| پارامترها | |
|---|---|
runName | String : نام اجرای آزمایشی |
testCount | int : تعداد کل تستها در اجرای تست |
testRunStopped
public void testRunStopped (long elapsedTime)
گزارش میدهد که اجرای آزمایشی به دلیل درخواست کاربر قبل از تکمیل متوقف شده است.
TODO: در حال حاضر استفاده نشده، حذف را در نظر بگیرید
| پارامترها | |
|---|---|
elapsedTime | long : زمان سپری شده گزارش شده توسط دستگاه، بر حسب میلی ثانیه |
تست شروع شد
public void testStarted (TestDescription test)
شروع یک مورد آزمایشی (test case) را گزارش میدهد. رابطهای قدیمیتر، در صورت امکان باید testStarted(TestDescription) استفاده کنند.
| پارامترها | |
|---|---|
test | TestDescription : تست را مشخص میکند. |
محتوا و نمونه کدها در این صفحه مشمول پروانههای توصیفشده در پروانه محتوا هستند. جاوا و OpenJDK علامتهای تجاری یا علامتهای تجاری ثبتشده Oracle و/یا وابستههای آن هستند.
تاریخ آخرین بهروزرسانی 2026-06-22 بهوقت ساعت هماهنگ جهانی.