Coletor de relatórios de bugs

public class BugreportCollector
extends Object implements ITestInvocationListener

java.lang.Object
   ↳ com.android.tradefed.result.BugreportCollector


Um ITestInvocationListener de passagem que coleta relatórios de bugs quando eventos configuráveis ocorre e chama ITestInvocationListener#testLog nos filhos após cada o relatório do bug seja coletado.

Comportamentos: (FIXME: concluir)

  • Capturar após cada um se algum caso de teste falhar
  • Capturar após cada caso de teste
  • Capturar após cada caso de teste com falha
  • Gravar

Resumo

Classes aninhadas

class BugreportCollector.Predicate

Um predicado completo que descreve quando capturar um relatório de bug. 

interface BugreportCollector.SubPredicate

 

Campos

public static final BugreportCollector.Predicate AFTER_FAILED_TESTCASES

Um predicado predefinido que é acionado após cada caso de teste com falha.

public static final BugreportCollector.Predicate AT_START

Um predicado predefinido que é acionado quando a primeira invocação começa

Construtores públicos

BugreportCollector(ITestInvocationListener listener, ITestDevice testDevice)

Métodos públicos

void addPredicate(BugreportCollector.Predicate p)
void blockUntilIdle()

Bloqueie até que o coletor não esteja coletando relatórios de bugs.

TestSummary getSummary()

Permite que o InvocationListener retorne um resumo.

void invocationEnded(long elapsedTime)

Informa que a invocação foi encerrada, seja com sucesso ou devido a algum erro condição.

void invocationFailed(Throwable cause)

Informa uma invocação incompleta devido a uma condição de erro.

void invocationStarted(IInvocationContext context)

Informa o início da invocação do teste.

void setAsynchronous(boolean asynchronous)

Definir se a coleta de relatórios de bugs deve coletar o relatório em uma linha de execução diferente (asynchronous = true) ou bloquear o autor da chamada até que o relatório do bug seja capturado asynchronous = false).

void setDescriptiveName(String name)

Defina o nome descritivo que será usado ao gravar relatórios de bugs.

void setDeviceWaitTime(int waitTime)

Defina o tempo (em segundos) de espera até que o dispositivo fique on-line antes de tentarmos capturar relatório de bugs.

void testAssumptionFailure(TestDescription test, String trace)

Chamado quando um teste atômico sinaliza que assume uma condição falsa

void testEnded(TestDescription test, testMetrics)

Informa o final da execução de um caso de teste individual.

void testFailed(TestDescription test, String trace)

Relata a falha de um caso de teste individual.

void testIgnored(TestDescription test)

Chamado quando um teste não é executado, geralmente porque um método de teste é anotado com "org.junit.Ignore".

void testLog(String dataName, LogDataType dataType, InputStreamSource dataStream)

Fornece o registro associado ou os dados de depuração da invocação de teste.

void testRunEnded(long elapsedTime, runMetrics)

Informa o fim da execução do teste.

void testRunFailed(String errorMessage)

A execução do teste de relatórios não foi concluída devido a um erro fatal.

void testRunStarted(String runName, int testCount)

Informa o início de uma execução de teste.

void testRunStopped(long elapsedTime)

A execução do teste de relatórios foi interrompida antes da conclusão devido a uma solicitação do usuário.

void testStarted(TestDescription test)

Informa o início de um caso de teste individual.

Campos

AFTER_FAILED_TESTCASES

public static final BugreportCollector.Predicate AFTER_FAILED_TESTCASES

Um predicado predefinido que é acionado após cada caso de teste com falha.

AT_INÍCIO

public static final BugreportCollector.Predicate AT_START

Um predicado predefinido que é acionado quando a primeira invocação começa

Construtores públicos

Coletor de relatórios de bugs

public BugreportCollector (ITestInvocationListener listener, 
                ITestDevice testDevice)

Parâmetros
listener ITestInvocationListener

testDevice ITestDevice

Métodos públicos

addPredicate

public void addPredicate (BugreportCollector.Predicate p)

Parâmetros
p BugreportCollector.Predicate

blockUntilIdle

public void blockUntilIdle ()

Bloqueie até que o coletor não esteja coletando relatórios de bugs. Se o coletor não estiver ativamente coletar um relatório de bug, retornar imediatamente

getResumo

public TestSummary getSummary ()

Permite que o InvocationListener retorne um resumo.

Retorna
TestSummary Um TestSummary que resume a execução ou é nulo.

invocaçãoFinalizada

public void invocationEnded (long elapsedTime)

Informa que a invocação foi encerrada, seja com sucesso ou devido a algum erro condição.

Será chamado automaticamente pela estrutura TradeFederation.

Parâmetros
elapsedTime long: o tempo decorrido da invocação em ms

InvocationFailed

public void invocationFailed (Throwable cause)

Informa uma invocação incompleta devido a uma condição de erro.

Será chamado automaticamente pela estrutura TradeFederation.

Parâmetros
cause Throwable: a causa Throwable da falha.

invocationStarted

public void invocationStarted (IInvocationContext context)

Informa o início da invocação do teste.

Será chamado automaticamente pela estrutura TradeFederation. Os informantes precisam substituir esse método para oferecer suporte à geração de relatórios de vários dispositivos.

Parâmetros
context IInvocationContext: informações sobre a invocação.

setAssíncrono

public void setAsynchronous (boolean asynchronous)

Definir se a coleta de relatórios de bugs deve coletar o relatório em uma linha de execução diferente (asynchronous = true) ou bloquear o autor da chamada até que o relatório do bug seja capturado asynchronous = false).

Parâmetros
asynchronous boolean

setDescriptiveName

public void setDescriptiveName (String name)

Defina o nome descritivo que será usado ao gravar relatórios de bugs. Se for null, BugreportCollector voltará ao comportamento padrão de serialização do nome do o evento que fez com que o relatório do bug fosse coletado.

Parâmetros
name String

setDeviceTempo de espera

public void setDeviceWaitTime (int waitTime)

Defina o tempo (em segundos) de espera até que o dispositivo fique on-line antes de tentarmos capturar relatório do bug. Se for negativo, nenhuma verificação será realizada. Qualquer DeviceNotAvailableException encontrados durante essa verificação serão registrados e ignorados.

Parâmetros
waitTime int

testAssumptionFailure

public void testAssumptionFailure (TestDescription test, 
                String trace)

Chamado quando um teste atômico sinaliza que assume uma condição falsa

Parâmetros
test TestDescription: identifica o teste.

trace String: stack trace de falha

testEnded

public void testEnded (TestDescription test, 
                 testMetrics)

Informa o final da execução de um caso de teste individual.

Se testFailed(TestDescription, FailureDescription) não foi invocado, o teste foi aprovado. Também retorna qualquer chave/valor métricas que podem ter sido emitidas durante a execução do caso de teste.

Parâmetros
test TestDescription: identifica o teste.

testMetrics : um ERROR(/Map) das métricas emitidas

testFailed

public void testFailed (TestDescription test, 
                String trace)

Relata a falha de um caso de teste individual.

Será chamado entre testStarted e testEnded.

Parâmetros
test TestDescription: identifica o teste.

trace String: stack trace de falha

testIgnorado

public void testIgnored (TestDescription test)

Chamado quando um teste não é executado, geralmente porque um método de teste é anotado com "org.junit.Ignore".

Parâmetros
test TestDescription: identifica o teste.

testLog

public void testLog (String dataName, 
                LogDataType dataType, 
                InputStreamSource dataStream)

Fornece o registro associado ou os dados de depuração da invocação de teste.

Precisa ser chamado antes de ERROR(/ITestInvocationListener#invocationFailed(Throwable)) ou ERROR(/ITestInvocationListener#invocationEnded(long))

A estrutura da TradeFederation chamará automaticamente esse método, fornecendo o registro do host e, se aplicável, o logcat do dispositivo.

Parâmetros
dataName String: um nome descritivo de String dos dados. Por exemplo: "device_logcat". Observação dataName pode não ser exclusivo por invocação. os implementadores devem ser capazes de lidar várias chamadas com o mesmo dataName

dataType LogDataType: o LogDataType dos dados.

dataStream InputStreamSource: o InputStreamSource dos dados. Os implementadores devem chamar createInputStream para começar a ler os dados e fechar o InputStream quando concluído. Os autores da chamada precisam garantir que a fonte dos dados não seja alterada. presente e acessível até que o método testLog seja concluído.

testRunEnded

public void testRunEnded (long elapsedTime, 
                 runMetrics)

Informa o fim da execução do teste. FIXME: não podemos ter dois Map<> interfaces com tipos diferentes, então precisamos usar o HashMap aqui.

Parâmetros
elapsedTime long: tempo decorrido informado pelo dispositivo, em milissegundos.

runMetrics : pares de chave-valor informados no final de um teste com Metric.

testRunFailed

public void testRunFailed (String errorMessage)

A execução do teste de relatórios não foi concluída devido a um erro fatal.

Parâmetros
errorMessage String: String descrevendo o motivo da falha na execução.

testRunStarted

public void testRunStarted (String runName, 
                int testCount)

Informa o início de uma execução de teste.

Parâmetros
runName String: o nome da execução de teste.

testCount int: número total de testes na execução do teste

testRunSinterrupto

public void testRunStopped (long elapsedTime)

A execução do teste de relatórios foi interrompida antes da conclusão devido a uma solicitação do usuário.

TODO: não usado no momento, considere remover

Parâmetros
elapsedTime long: tempo decorrido informado pelo dispositivo, em milissegundos.

testStarted

public void testStarted (TestDescription test)

Informa o início de um caso de teste individual. A interface mais antiga precisa usar testStarted(com.android.tradefed.result.TestDescription) sempre que possível.

Parâmetros
test TestDescription: identifica o teste.