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)

Укажите, следует ли сбору отчетов об ошибках выполняться в отдельном потоке ( asynchronous = true ) или вызывающий процесс должен быть заблокирован до тех пор, пока отчет об ошибке не будет получен ( asynchronous = false ).

void setDescriptiveName (String name)

Укажите описательное имя, которое будет использоваться при регистрации сообщений об ошибках.

void setDeviceWaitTime (int waitTime)

Установите время (в секундах), которое потребуется для ожидания подключения устройства к сети, прежде чем мы попытаемся отправить отчет об ошибке.

void testAssumptionFailure ( TestDescription test, String trace)

Вызывается, когда атомарный тест указывает на то, что он предполагает ложное условие.

void testEnded ( TestDescription test, HashMap<String, MetricMeasurement.Metric> 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, HashMap<String, MetricMeasurement.Metric> runMetrics)

Сообщает об окончании тестового запуска.

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

Предопределенный предикат, который срабатывает после каждого неудачного тестового случая.

AT_START

public static final BugreportCollector.Predicate AT_START

Предопределенный предикат, который срабатывает при первом вызове.

Государственные строители

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.

вызов завершен

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 : информация о вызове

setAsynchronous

public void setAsynchronous (boolean asynchronous)

Укажите, следует ли сбору отчетов об ошибках выполняться в отдельном потоке ( asynchronous = true ) или вызывающий процесс должен быть заблокирован до тех пор, пока отчет об ошибке не будет получен ( asynchronous = false ).

Параметры
asynchronous boolean

setDescriptiveName

public void setDescriptiveName (String name)

Задайте описательное имя, которое будет использоваться при записи отчетов об ошибках. Если null , BugreportCollector будет использовать поведение по умолчанию, сериализуя имя события, которое привело к сбору отчета об ошибке.

Параметры
name String

setDeviceWaitTime

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, 
                HashMap<String, MetricMeasurement.Metric> testMetrics)

Сообщает о завершении выполнения отдельного тестового случая.

Если 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 : идентифицирует тест

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 автоматически вызовет этот метод, предоставив лог хоста и, если применимо, лог устройства.

Параметры
dataName String : String описательное имя данных. Например, "device_logcat". Обратите внимание, что dataName может быть не уникальным для каждого вызова. То есть разработчики должны иметь возможность обрабатывать несколько вызовов с одним и тем же dataName.

dataType LogDataType : тип данных LogDataType

dataStream InputStreamSource : InputStreamSource данных. Разработчикам следует вызвать createInputStream для начала чтения данных и убедиться, что результирующий InputStream закрыт по завершении. Вызывающие стороны должны убедиться, что источник данных остается доступным до завершения метода testLog.

testRunEnded

public void testRunEnded (long elapsedTime, 
                HashMap<String, MetricMeasurement.Metric> runMetrics)

Сообщает об окончании выполнения теста. FIXME: Мы не можем иметь два интерфейса Map<> с разными типами, поэтому здесь необходимо использовать HashMap.

Параметры
elapsedTime long : устройство сообщило о прошедшем времени в миллисекундах

runMetrics HashMap : пары ключ-значение, отображаемые в конце выполнения теста с помощью Metric .

testRunFailed

public void testRunFailed (String errorMessage)

Сообщается, что тестовый запуск не завершился из-за критической ошибки.

Параметры
errorMessage String : String описывающая причину сбоя выполнения.

testRunStarted

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)

Сообщает о начале отдельного тестового случая. Более старый интерфейс, следует использовать testStarted(TestDescription) везде, где это возможно.

Параметры
test TestDescription : идентифицирует тест