REST Resource: projects.histories.executions

Recurso: Execução

Uma Execução representa uma coleção de Etapas. Por exemplo, poderia representar: - um teste móvel executado em uma variedade de configurações de dispositivos - um trabalho Jenkins com uma etapa de construção seguida por uma etapa de teste

O tamanho máximo de uma mensagem de execução é 1 MiB.

Uma Execução pode ser atualizada até que seu estado seja definido como COMPLETE, ponto em que ela se torna imutável.

Representação JSON
{
  "executionId": string,
  "state": enum (State),
  "creationTime": {
    object (Timestamp)
  },
  "completionTime": {
    object (Timestamp)
  },
  "outcome": {
    object (Outcome)
  },
  "dimensionDefinitions": [
    {
      object (MatrixDimensionDefinition)
    }
  ],
  "specification": {
    object (Specification)
  },
  "testExecutionMatrixId": string
}
Campos
executionId

string

Um identificador exclusivo dentro de um Histórico para esta Execução.

Retorna INVALID_ARGUMENT se este campo for definido ou substituído pelo chamador.

  • Em resposta sempre definido
  • Na solicitação de criação/atualização: nunca definido
state

enum ( State )

O estado inicial é IN_PROGRESS.

As únicas transições de estado legais são de IN_PROGRESS para COMPLETE.

Um PRECONDITION_FAILED será retornado se uma transição inválida for solicitada.

O estado só pode ser definido como COMPLETE uma vez. Um FAILED_PRECONDITION será retornado se o estado for definido como COMPLETE diversas vezes.

Se o estado for definido como COMPLETE, todas as etapas em andamento na execução serão definidas como COMPLETE. Se o resultado da etapa não for definido, o resultado será definido como INCONCLUSIVO.

  • Em resposta sempre definido
  • Na solicitação de criação/atualização: opcional
creationTime

object ( Timestamp )

A hora em que a Execução foi criada.

Este valor será definido automaticamente quando executations.create for chamado.

  • Em resposta: sempre definido
  • Na solicitação de criação/atualização: nunca definido
completionTime

object ( Timestamp )

O momento em que o status de Execução mudou para COMPLETE.

Este valor será definido automaticamente quando o estado passar para COMPLETE.

  • Em resposta: defina se o estado de execução for COMPLETE.
  • Na solicitação de criação/atualização: nunca definido
outcome

object ( Outcome )

Classifique o resultado, por exemplo, em SUCESSO ou FALHA

  • Em resposta: presente se definido pela solicitação de criação/atualização
  • Na solicitação de criação/atualização: opcional
dimensionDefinitions[]

object ( MatrixDimensionDefinition )

As dimensões ao longo das diferentes etapas desta execução podem variar. Isto deve permanecer fixo durante a vida da execução.

Retorna INVALID_ARGUMENT se este campo for definido em uma solicitação de atualização.

Retorna INVALID_ARGUMENT se o mesmo nome ocorrer em mais de uma dimension_definition.

Retorna INVALID_ARGUMENT se o tamanho da lista for superior a 100.

  • Em resposta: presente se definido por create
  • Na solicitação de criação: opcional
  • Na solicitação de atualização: nunca definido
specification

object ( Specification )

Informações leves sobre solicitação de execução.

  • Em resposta: presente se definido por create
  • Na criação: opcional
  • Em atualização: opcional
testExecutionMatrixId

string

ID da matriz TestExecution que o TestExecutionService usa.

  • Em resposta: presente se definido por create
  • Na criação: opcional
  • Em atualização: nunca definido

MatrixDimensionDefinição

Este tipo não possui campos.

Uma dimensão da matriz de diferentes execuções de uma etapa.

Especificação

Os detalhes sobre como executar a execução.

Representação JSON
{

  // Union field specification can be only one of the following:
  "androidTest": {
    object (AndroidTest)
  },
  "iosTest": {
    object (IosTest)
  }
  // End of list of possible types for union field specification.
}
Campos

specification do campo da união.

specification pode ser apenas uma das seguintes:

androidTest

object ( AndroidTest )

Uma especificação de execução de teste móvel Android.

iosTest

object ( IosTest )

Uma especificação de execução de teste móvel iOS.

Teste Android

Uma especificação de teste móvel Android.

Representação JSON
{
  "androidAppInfo": {
    object (AndroidAppInfo)
  },
  "testTimeout": {
    object (Duration)
  },

  // Union field test can be only one of the following:
  "androidInstrumentationTest": {
    object (AndroidInstrumentationTest)
  },
  "androidRoboTest": {
    object (AndroidRoboTest)
  },
  "androidTestLoop": {
    object (AndroidTestLoop)
  }
  // End of list of possible types for union field test.
}
Campos
androidAppInfo

object ( AndroidAppInfo )

Informações sobre o aplicativo em teste.

testTimeout

object ( Duration )

Tempo máximo que um teste pode ser executado antes de ser cancelado automaticamente.

test de campo da União.

test pode ser apenas um dos seguintes:

androidInstrumentationTest

object ( AndroidInstrumentationTest )

Um teste de instrumentação Android.

androidRoboTest

object ( AndroidRoboTest )

Um teste robótico Android.

androidTestLoop

object ( AndroidTestLoop )

Um loop de teste do Android.

AndroidAppInfo

Informações do aplicativo Android.

Representação JSON
{
  "name": string,
  "packageName": string,
  "versionName": string,
  "versionCode": string
}
Campos
name

string

O nome do aplicativo. Opcional

packageName

string

O nome do pacote do aplicativo. Obrigatório.

versionName

string

O nome da versão do aplicativo. Opcional.

versionCode

string

O código da versão interna do aplicativo. Opcional.

AndroidInstrumentaçãoTeste

Um teste de um aplicativo Android que pode controlar um componente Android independentemente de seu ciclo de vida normal.

Consulte https://developer.android.com/training/testing/fundamentals para obter mais informações sobre os tipos de testes do Android.

Representação JSON
{
  "testPackageId": string,
  "testRunnerClass": string,
  "testTargets": [
    string
  ],
  "useOrchestrator": boolean
}
Campos
testPackageId

string

O pacote java para o teste ser executado. Obrigatório

testRunnerClass

string

A classe InstrumentationTestRunner. Obrigatório

testTargets[]

string

Cada destino deve ser totalmente qualificado com o nome do pacote ou nome da classe, em um destes formatos: - "pacote packageName" - "class packageName.class_name" - "class packageName.class_name#method_name"

Se estiver vazio, todos os destinos no módulo serão executados.

useOrchestrator

boolean

A sinalização indica se o Android Test Orchestrator será usado para executar o teste ou não.

AndroidRoboTest

Um teste de um aplicativo Android que explora o aplicativo em um dispositivo Android virtual ou físico, encontrando culpados e falhas durante o processo.

Representação JSON
{
  "appInitialActivity": string,
  "bootstrapPackageId": string,
  "bootstrapRunnerClass": string,
  "maxDepth": integer,
  "maxSteps": integer
}
Campos
appInitialActivity

string

A atividade inicial que deve ser usada para iniciar o aplicativo. Opcional

bootstrapPackageId

string

O pacote java para o bootstrap. Opcional

bootstrapRunnerClass

string

A classe runner para o bootstrap. Opcional

maxDepth

integer

A profundidade máxima da pilha de travessia que o Robo pode explorar. Opcional

maxSteps

integer

O número máximo de etapas/ações que o Robo pode executar. O padrão é sem limite (0). Opcional

AndroidTestLoop

Este tipo não possui campos.

Test Loops são testes que podem ser iniciados pelo próprio aplicativo, determinando quando executar ouvindo uma intenção.

Teste iOS

Uma especificação de teste móvel iOS

Representação JSON
{
  "iosAppInfo": {
    object (IosAppInfo)
  },
  "testTimeout": {
    object (Duration)
  },

  // Union field test can be only one of the following:
  "iosXcTest": {
    object (IosXcTest)
  },
  "iosTestLoop": {
    object (IosTestLoop)
  },
  "iosRoboTest": {
    object (IosRoboTest)
  }
  // End of list of possible types for union field test.
}
Campos
iosAppInfo

object ( IosAppInfo )

Informações sobre o aplicativo em teste.

testTimeout

object ( Duration )

Tempo máximo que um teste pode ser executado antes de ser cancelado automaticamente.

test de campo da União.

test pode ser apenas um dos seguintes:

iosXcTest

object ( IosXcTest )

Um iOS XCTest.

iosTestLoop

object ( IosTestLoop )

Um loop de teste do iOS.

iosRoboTest

object ( IosRoboTest )

Um teste iOS Robo.

IosAppInfo

Informações do aplicativo iOS

Representação JSON
{
  "name": string
}
Campos
name

string

O nome do aplicativo. Obrigatório

Teste IosXc

Um teste de um aplicativo iOS que usa a estrutura XCTest.

Representação JSON
{
  "bundleId": string,
  "xcodeVersion": string
}
Campos
bundleId

string

ID do pacote do aplicativo.

xcodeVersion

string

Versão do Xcode com a qual o teste foi executado.

IosTestLoop

Um teste de loop de jogo de um aplicativo iOS.

Representação JSON
{
  "bundleId": string
}
Campos
bundleId

string

ID do pacote do aplicativo.

IosRoboTest

Este tipo não possui campos.

Um teste Robo para um aplicativo iOS.

Métodos

create

Cria uma execução.

get

Obtém uma execução.

list

Lista execuções para um determinado histórico.

patch

Atualiza uma Execução existente com a entidade parcial fornecida.
,

Recurso: Execução

Uma Execução representa uma coleção de Etapas. Por exemplo, poderia representar: - um teste móvel executado em uma variedade de configurações de dispositivos - um trabalho Jenkins com uma etapa de construção seguida por uma etapa de teste

O tamanho máximo de uma mensagem de execução é 1 MiB.

Uma Execução pode ser atualizada até que seu estado seja definido como COMPLETE, ponto em que ela se torna imutável.

Representação JSON
{
  "executionId": string,
  "state": enum (State),
  "creationTime": {
    object (Timestamp)
  },
  "completionTime": {
    object (Timestamp)
  },
  "outcome": {
    object (Outcome)
  },
  "dimensionDefinitions": [
    {
      object (MatrixDimensionDefinition)
    }
  ],
  "specification": {
    object (Specification)
  },
  "testExecutionMatrixId": string
}
Campos
executionId

string

Um identificador exclusivo dentro de um Histórico para esta Execução.

Retorna INVALID_ARGUMENT se este campo for definido ou substituído pelo chamador.

  • Em resposta sempre definido
  • Na solicitação de criação/atualização: nunca definido
state

enum ( State )

O estado inicial é IN_PROGRESS.

As únicas transições de estado legais são de IN_PROGRESS para COMPLETE.

Um PRECONDITION_FAILED será retornado se uma transição inválida for solicitada.

O estado só pode ser definido como COMPLETE uma vez. Um FAILED_PRECONDITION será retornado se o estado for definido como COMPLETE diversas vezes.

Se o estado for definido como COMPLETE, todas as etapas em andamento na execução serão definidas como COMPLETE. Se o resultado da etapa não for definido, o resultado será definido como INCONCLUSIVO.

  • Em resposta sempre definido
  • Na solicitação de criação/atualização: opcional
creationTime

object ( Timestamp )

A hora em que a Execução foi criada.

Este valor será definido automaticamente quando executations.create for chamado.

  • Em resposta: sempre definido
  • Na solicitação de criação/atualização: nunca definido
completionTime

object ( Timestamp )

O momento em que o status de Execução mudou para COMPLETE.

Este valor será definido automaticamente quando o estado passar para COMPLETE.

  • Em resposta: defina se o estado de execução for COMPLETE.
  • Na solicitação de criação/atualização: nunca definido
outcome

object ( Outcome )

Classifique o resultado, por exemplo, em SUCESSO ou FALHA

  • Em resposta: presente se definido pela solicitação de criação/atualização
  • Na solicitação de criação/atualização: opcional
dimensionDefinitions[]

object ( MatrixDimensionDefinition )

As dimensões ao longo das diferentes etapas desta execução podem variar. Isto deve permanecer fixo durante a vida da execução.

Retorna INVALID_ARGUMENT se este campo for definido em uma solicitação de atualização.

Retorna INVALID_ARGUMENT se o mesmo nome ocorrer em mais de uma dimension_definition.

Retorna INVALID_ARGUMENT se o tamanho da lista for superior a 100.

  • Em resposta: presente se definido por create
  • Na solicitação de criação: opcional
  • Na solicitação de atualização: nunca definido
specification

object ( Specification )

Informações leves sobre solicitação de execução.

  • Em resposta: presente se definido por create
  • Na criação: opcional
  • Em atualização: opcional
testExecutionMatrixId

string

ID da matriz TestExecution que o TestExecutionService usa.

  • Em resposta: presente se definido por create
  • Na criação: opcional
  • Em atualização: nunca definido

MatrixDimensionDefinição

Este tipo não possui campos.

Uma dimensão da matriz de diferentes execuções de uma etapa.

Especificação

Os detalhes sobre como executar a execução.

Representação JSON
{

  // Union field specification can be only one of the following:
  "androidTest": {
    object (AndroidTest)
  },
  "iosTest": {
    object (IosTest)
  }
  // End of list of possible types for union field specification.
}
Campos

specification do campo da união.

specification pode ser apenas uma das seguintes:

androidTest

object ( AndroidTest )

Uma especificação de execução de teste móvel Android.

iosTest

object ( IosTest )

Uma especificação de execução de teste móvel iOS.

Teste Android

Uma especificação de teste móvel Android.

Representação JSON
{
  "androidAppInfo": {
    object (AndroidAppInfo)
  },
  "testTimeout": {
    object (Duration)
  },

  // Union field test can be only one of the following:
  "androidInstrumentationTest": {
    object (AndroidInstrumentationTest)
  },
  "androidRoboTest": {
    object (AndroidRoboTest)
  },
  "androidTestLoop": {
    object (AndroidTestLoop)
  }
  // End of list of possible types for union field test.
}
Campos
androidAppInfo

object ( AndroidAppInfo )

Informações sobre o aplicativo em teste.

testTimeout

object ( Duration )

Tempo máximo que um teste pode ser executado antes de ser cancelado automaticamente.

test de campo da União.

test pode ser apenas um dos seguintes:

androidInstrumentationTest

object ( AndroidInstrumentationTest )

Um teste de instrumentação Android.

androidRoboTest

object ( AndroidRoboTest )

Um teste robótico Android.

androidTestLoop

object ( AndroidTestLoop )

Um loop de teste do Android.

AndroidAppInfo

Informações do aplicativo Android.

Representação JSON
{
  "name": string,
  "packageName": string,
  "versionName": string,
  "versionCode": string
}
Campos
name

string

O nome do aplicativo. Opcional

packageName

string

O nome do pacote do aplicativo. Obrigatório.

versionName

string

O nome da versão do aplicativo. Opcional.

versionCode

string

O código da versão interna do aplicativo. Opcional.

AndroidInstrumentaçãoTeste

Um teste de um aplicativo Android que pode controlar um componente Android independentemente de seu ciclo de vida normal.

Consulte https://developer.android.com/training/testing/fundamentals para obter mais informações sobre os tipos de testes do Android.

Representação JSON
{
  "testPackageId": string,
  "testRunnerClass": string,
  "testTargets": [
    string
  ],
  "useOrchestrator": boolean
}
Campos
testPackageId

string

O pacote java para o teste ser executado. Obrigatório

testRunnerClass

string

A classe InstrumentationTestRunner. Obrigatório

testTargets[]

string

Cada destino deve ser totalmente qualificado com o nome do pacote ou nome da classe, em um destes formatos: - "pacote packageName" - "class packageName.class_name" - "class packageName.class_name#method_name"

Se estiver vazio, todos os destinos no módulo serão executados.

useOrchestrator

boolean

A sinalização indica se o Android Test Orchestrator será usado para executar o teste ou não.

AndroidRoboTest

Um teste de um aplicativo Android que explora o aplicativo em um dispositivo Android virtual ou físico, encontrando culpados e falhas durante o processo.

Representação JSON
{
  "appInitialActivity": string,
  "bootstrapPackageId": string,
  "bootstrapRunnerClass": string,
  "maxDepth": integer,
  "maxSteps": integer
}
Campos
appInitialActivity

string

A atividade inicial que deve ser usada para iniciar o aplicativo. Opcional

bootstrapPackageId

string

O pacote java para o bootstrap. Opcional

bootstrapRunnerClass

string

A classe runner para o bootstrap. Opcional

maxDepth

integer

A profundidade máxima da pilha de travessia que o Robo pode explorar. Opcional

maxSteps

integer

O número máximo de etapas/ações que o Robo pode executar. O padrão é sem limite (0). Opcional

AndroidTestLoop

Este tipo não possui campos.

Test Loops são testes que podem ser iniciados pelo próprio aplicativo, determinando quando executar ouvindo uma intenção.

Teste iOS

Uma especificação de teste móvel iOS

Representação JSON
{
  "iosAppInfo": {
    object (IosAppInfo)
  },
  "testTimeout": {
    object (Duration)
  },

  // Union field test can be only one of the following:
  "iosXcTest": {
    object (IosXcTest)
  },
  "iosTestLoop": {
    object (IosTestLoop)
  },
  "iosRoboTest": {
    object (IosRoboTest)
  }
  // End of list of possible types for union field test.
}
Campos
iosAppInfo

object ( IosAppInfo )

Informações sobre o aplicativo em teste.

testTimeout

object ( Duration )

Tempo máximo que um teste pode ser executado antes de ser cancelado automaticamente.

test de campo da União.

test pode ser apenas um dos seguintes:

iosXcTest

object ( IosXcTest )

Um iOS XCTest.

iosTestLoop

object ( IosTestLoop )

Um loop de teste do iOS.

iosRoboTest

object ( IosRoboTest )

Um teste iOS Robo.

IosAppInfo

Informações do aplicativo iOS

Representação JSON
{
  "name": string
}
Campos
name

string

O nome do aplicativo. Obrigatório

Teste IosXc

Um teste de um aplicativo iOS que usa a estrutura XCTest.

Representação JSON
{
  "bundleId": string,
  "xcodeVersion": string
}
Campos
bundleId

string

ID do pacote do aplicativo.

xcodeVersion

string

Versão do Xcode com a qual o teste foi executado.

IosTestLoop

Um teste de loop de jogo de um aplicativo iOS.

Representação JSON
{
  "bundleId": string
}
Campos
bundleId

string

ID do pacote do aplicativo.

IosRoboTest

Este tipo não possui campos.

Um teste Robo para um aplicativo iOS.

Métodos

create

Cria uma execução.

get

Obtém uma execução.

list

Lista execuções para um determinado histórico.

patch

Atualiza uma Execução existente com a entidade parcial fornecida.