BugreportCollector
public
class
BugreportCollector
extends Object
implements
ITestInvocationListener
java.lang.Object의 클래스 | |
↳ | com.android.tradefed.result.BugreportCollector |
구성 가능한 이벤트 시 버그 신고를 수집하는 패스 스루 ITestInvocationListener
발생 후 각 이벤트가 끝날 때마다 하위 요소에서 ITestInvocationListener#testLog
를 호출합니다.
버그 신고가 수집됩니다.
동작: (FIXME: 완료)
- 테스트 사례가 실패할 때마다 캡처
- 각 테스트 사례 후 캡처
- 각 테스트 사례 실패 후 캡처
- 촬영하기
요약
중첩된 클래스 | |
---|---|
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)
bugreport 수집이 다른 스레드의 bugreport를 수집해야 하는지 여부를 설정합니다.
( |
void
|
setDescriptiveName(String name)
버그 신고를 기록할 때 사용할 설명이 포함된 이름을 설정합니다. |
void
|
setDeviceWaitTime(int waitTime)
캡처를 시도하기 전에 기기가 온라인 상태가 될 때까지 기다리는 시간 (초)을 버그 신고 |
void
|
testAssumptionFailure(TestDescription test, String trace)
원자적 테스트에서 조건이 false라고 가정할 때 호출됩니다. |
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)
개별 테스트 사례의 시작을 보고합니다. |
필드
after_FAILED_TESTCASES
public static final BugreportCollector.Predicate AFTER_FAILED_TESTCASES
각 테스트 사례가 실패할 때마다 실행되는 사전 정의된 조건자입니다.
공개 생성자
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 ()
수집기가 버그 신고를 수집하지 않을 때까지 차단합니다. 수집기가 버그 신고를 수집하여 즉시 반환하면
가져오기 요약
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 : 호출에 관한 정보입니다. |
setA비동기
public void setAsynchronous (boolean asynchronous)
bugreport 수집이 다른 스레드의 bugreport를 수집해야 하는지 여부를 설정합니다.
(asynchronous = true
)를 누르거나 버그 신고가 캡처될 때까지 발신자를 차단합니다.
(asynchronous = false
).
매개변수 | |
---|---|
asynchronous |
boolean |
setDescriptiveName
public void setDescriptiveName (String name)
버그 신고를 기록할 때 사용할 설명이 포함된 이름을 설정합니다. null
인 경우,
BugreportCollector
는 기본 동작으로 돌아갑니다.
버그 신고가 수집되도록 만든 이벤트입니다.
매개변수 | |
---|---|
name |
String |
setDeviceWaitTime
public void setDeviceWaitTime (int waitTime)
캡처를 시도하기 전에 기기가 온라인 상태가 될 때까지 기다리는 시간 (초)을
bugreport. 음수인 경우 검사가 수행되지 않습니다. 모든 DeviceNotAvailableException
모두 기록되고 무시됩니다.
매개변수 | |
---|---|
waitTime |
int |
testAssumptionFailure
public void testAssumptionFailure (TestDescription test, String trace)
원자적 테스트에서 조건이 false라고 가정할 때 호출됩니다.
매개변수 | |
---|---|
test |
TestDescription : 테스트를 식별합니다. |
trace |
String : 실패의 스택 트레이스 |
testEnded
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 : 실패의 스택 트레이스 |
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))
전에 호출해야 합니다.
ERROR(/ITestInvocationListener#invocationEnded(long))
TradeFederation 프레임워크는 이 메서드를 자동으로 호출하여 호스트 로그를 제공합니다. 그리고 해당하는 경우 기기 logcat입니다.
매개변수 | |
---|---|
dataName |
String : 데이터를 설명하는 String 이름입니다. 예: 'device_logcat' 참고
dataName은 호출별로 고유할 수 없습니다. 즉, 구현자는
dataName이 동일한 여러 호출 |
dataType |
LogDataType : 데이터의 LogDataType |
dataStream |
InputStreamSource : 데이터의 InputStreamSource 입니다. 구현자는 다음을 호출해야 합니다.
createInputStream을 호출하여 데이터 읽기를 시작하고 결과
InputStream 완료 시 입력 스트림. 호출자는 데이터 소스가 유지되는지 확인해야 합니다.
테스트 로그 메서드가 완료될 때까지 존재하고 액세스할 수 있어야 합니다. |
testRunEnded
public void testRunEnded (long elapsedTime,runMetrics)
테스트 실행 종료를 보고합니다. 수정: 두 개의 지도를 가질 수 없습니다<> 다른 유형의 인터페이스를 제공하기 때문에 여기서는 HashMap을 사용해야 합니다.
매개변수 | |
---|---|
elapsedTime |
long : 기기에서 보고된 경과 시간(밀리초)입니다. |
runMetrics |
: Metric 로 테스트 실행이 끝날 때 보고된 키-값 쌍입니다. |
testRunFailed
public void testRunFailed (String errorMessage)
치명적인 오류로 인해 테스트 실행을 완료하지 못했습니다.
매개변수 | |
---|---|
errorMessage |
String : String 는 실행 실패 이유를 설명합니다. |
testRunStarted
public void testRunStarted (String runName, int testCount)
테스트 실행 시작을 보고합니다.
매개변수 | |
---|---|
runName |
String : 테스트 실행 이름입니다. |
testCount |
int : 테스트 실행의 총 테스트 수 |
testRunStop
public void testRunStopped (long elapsedTime)
사용자 요청으로 인해 보고서 테스트 실행이 완료 전에 중지되었습니다.
TODO: 현재 사용되지 않습니다. 삭제하는 것이 좋습니다.
매개변수 | |
---|---|
elapsedTime |
long : 기기에서 보고된 경과 시간(밀리초)입니다. |
testStarted
public void testStarted (TestDescription test)
개별 테스트 사례의 시작을 보고합니다. 이전 인터페이스이므로 가능하면 testStarted(com.android.tradefed.result.TestDescription)
를 사용해야 합니다.
매개변수 | |
---|---|
test |
TestDescription : 테스트를 식별합니다. |