REST Resource: projects.histories.executions

Recurso: execução

Uma execução representa uma coleção de etapas. Por exemplo, ele pode representar: - um teste de dispositivo móvel executado em uma variedade de configurações de dispositivos - um job da Jenkins com uma etapa de build 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. Nesse momento, 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 em um histórico para essa execução.

Retorna INVALID_MCC se este campo for definido ou substituído pelo autor da chamada.

  • Sempre definir como resposta
  • Na solicitação de criação/atualização: nunca definido
state

enum (State)

O estado inicial é IN_PROGRESS.

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

Uma PRECONDITION_FAILED será retornada se uma transição inválida for solicitada.

O estado só pode ser definido como COMPLETE uma vez. Uma FAILED_PRECONDITION será retornada 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á INCONCLUSIVO.

  • Sempre definir como resposta
  • 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 Executions.create for chamado.

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

object (Timestamp)

A hora em que o status de Execução passou para CONCLUÍDA.

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

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

object (Outcome)

Classificar o resultado, por exemplo, em SUCESSO ou FALHA

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

object (MatrixDimensionDefinition)

As dimensões em que as diferentes etapas nessa execução podem variar. Isso precisa permanecer fixo durante a vida útil da execução.

Retorna INVALID_MCC se este campo estiver definido em uma solicitação de atualização.

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

Retorna INVALID_MCC se o tamanho da lista for maior do que 100.

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

object (Specification)

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

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

string

ID da matriz de TestExecution que o TestExecutionService usa.

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

Definição de MatrixDimension

Esse 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

Campo de união specification.

specification pode ser apenas de um dos tipos a seguir:

androidTest

object (AndroidTest)

Especificação de execução de testes de dispositivos móveis Android.

iosTest

object (IosTest)

Uma especificação de execução de teste de dispositivos móveis para iOS.

Teste do Android

Especificação de teste de dispositivos móveis 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.

Campo de união test.

test pode ser apenas de um dos tipos a seguir:

androidInstrumentationTest

object (AndroidInstrumentationTest)

Um teste de instrumentação Android.

androidRoboTest

object (AndroidRoboTest)

Um teste robo Android.

androidTestLoop

object (AndroidTestLoop)

Um loop de teste do Android.

Informações do app Android

Informações do app Android.

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

string

O nome do app. Opcional

packageName

string

O nome do pacote do app. Obrigatório.

versionName

string

O nome da versão do app. Opcional.

versionCode

string

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

AndroidInstrumentationTest

Um teste de um aplicativo Android que pode controlar um componente Android de modo independente do ciclo de vida normal.

Consulte https://developer.android.com/training/testing/fundamentals para ver mais informações sobre os tipos de teste 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 precisa estar totalmente qualificado com o nome do pacote ou da classe em um destes formatos: - "package packageName" - "class packageName.class_name" - "class packageName.class_name#methodName"

Se 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 testes ou não.

AndroidRoboTest

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

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

string

A atividade inicial que precisa ser usada para iniciar o app. Opcional

bootstrapPackageId

string

O pacote Java para o bootstrap. Opcional

bootstrapRunnerClass

string

A classe do executor para o bootstrap. Opcional

maxDepth

integer

A profundidade máxima da pilha traversal 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

Esse tipo não tem campos.

Loops de teste são testes que podem ser iniciados pelo próprio app, determinando quando executar detectando uma intent.

IosTest

Uma especificação de teste para dispositivos móveis do 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.

Campo de união test.

test pode ser apenas de um dos tipos a seguir:

iosXcTest

object (IosXcTest)

Um XCTest para iOS.

iosTestLoop

object (IosTestLoop)

Um loop de teste do iOS.

iosRoboTest

object (IosRoboTest)

Um teste Robo para iOS.

Informações do aplicativo

Informações do app iOS

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

string

O nome do app. Obrigatório

IosXcTest

Um teste de um aplicativo iOS que usa o framework XCTest.

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

string

ID do pacote do app.

xcodeVersion

string

Versão do Xcode com que o teste foi executado.

IosTestLoop

Um teste de loop de jogo de um app iOS.

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

string

ID do pacote do app.

Teste do IosRobo

Esse tipo não tem campos.

Um teste Robo para um aplicativo iOS.

Métodos

create

Cria uma execução.

get

Recebe uma execução.

list

Lista as execuções de um determinado histórico.

patch

Atualiza uma execução atual com a entidade parcial fornecida.