REST Resource: projects.histories.executions

Recurso: Execução

Uma Execução representa uma coleção de Etapas. Por exemplo, pode representar: - um teste móvel executado em uma variedade de configurações de dispositivo - 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 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 definir
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 várias 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.

Esse valor será definido automaticamente quando as execuções.create for chamado.

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

object ( Timestamp )

A hora em que o status de Execução mudou para COMPLETE.

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

  • Em resposta: defina se o estado de execução for COMPLETO.
  • Na solicitação de criação/atualização: nunca definir
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 quais diferentes etapas nesta execução podem variar. Isso deve permanecer fixo durante a vida útil 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 criar
  • Na solicitação de criação: opcional
  • Na solicitação de atualização: nunca definido
specification

object ( Specification )

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

  • Em resposta: presente se definido por criar
  • Em criar: opcional
  • Em atualização: opcional
testExecutionMatrixId

string

TestExecution Matrix ID que o TestExecutionService usa.

  • Em resposta: presente se definido por criar
  • Em criar: opcional
  • Em atualização: nunca definido

MatrixDimensionDefinition

Este tipo não tem 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 de campo de 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.

AndroidTest

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 automaticamente cancelado.

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.

AndroidInstrumentationTest

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 a 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: - "package packageName" - "class packageName.class_name" - "class packageName.class_name#method_name"

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

useOrchestrator

boolean

O sinalizador 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 de corredor para o bootstrap. Opcional

maxDepth

integer

A profundidade máxima da pilha transversal 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 tem campos.

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

IosTest

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 do iOS Robo.

IosAppInfo

Informações do aplicativo iOS

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

string

O nome do aplicativo. Obrigatório

IosXcTest

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 tem 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.