REST Resource: projects.histories.executions

Recurso: Ejecución

Una ejecución representa una colección de pasos. Por ejemplo, podría representar lo siguiente: una prueba móvil que se ejecuta en una variedad de configuraciones de dispositivos y un trabajo de Jean con un paso de compilación seguido de un paso de prueba.

El tamaño máximo de un mensaje de ejecución es de 1 MiB.

Una ejecución se puede actualizar hasta que su estado se configure como COMPLETE. En ese momento, se volverá inmutable.

Representación 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

Un identificador único dentro de un historial para esta ejecución.

Muestra INVALID_ARGUMENT si el llamador configuró o reemplazó este campo.

  • En respuesta siempre establecido
  • En la solicitud de creación o actualización: nunca se establece
state

enum (State)

El estado inicial es IN_PROGRESS.

La única transición de estado legal es de IN_PROGRESS a COMPLETE.

Se mostrará una PRECONDITION_FAILED si se solicita una transición no válida.

El estado solo se puede establecer como COMPLETE una vez. Se mostrará una FAILED_PRECONDITION si el estado se configura como COMPLETE varias veces.

Si el estado se establece como COMPLETE, todos los pasos en curso dentro de la ejecución se establecerán como COMPLETE. Si no se establece el resultado del paso, se establecerá en INCONCLUSIVE.

  • En respuesta siempre establecido
  • En la solicitud de creación o actualización: opcional
creationTime

object (Timestamp)

La hora en la que se creó la ejecución.

Este valor se establecerá automáticamente cuando se llame aexecutions.create.

  • En respuesta: siempre establecido
  • En la solicitud de creación o actualización: nunca se establece
completionTime

object (Timestamp)

El momento en el que el estado de ejecución pasó a COMPLETE.

Este valor se establecerá automáticamente cuando el estado pase a COMPLETE.

  • En respuesta: Se establece si el estado de ejecución es COMPLETE.
  • En la solicitud de creación o actualización: nunca se establece
outcome

object (Outcome)

Clasificar el resultado, por ejemplo, en ÉXITO o FAILURE

  • En respuesta: está presente si se establece mediante la solicitud de creación o actualización.
  • En la solicitud de creación o actualización: opcional
dimensionDefinitions[]

object (MatrixDimensionDefinition)

Las dimensiones de los diferentes pasos de esta ejecución pueden variar. Esto debe permanecer fijo durante el ciclo de vida de la ejecución.

Muestra INVALID_ARGUMENT si este campo se configura en una solicitud de actualización.

Muestra INVALID_ARGUMENT si el mismo nombre aparece en más de una dimensión_definition.

Muestra INVALID_ARGUMENT si el tamaño de la lista es superior a 100.

  • En respuesta: está presente si se establece mediante create
  • En la solicitud de creación: opcional
  • En la solicitud de actualización: nunca se estableció
specification

object (Specification)

Información básica sobre la solicitud de ejecución.

  • En respuesta: está presente si se establece mediante create
  • En la creación: opcional
  • En actualización: opcional
testExecutionMatrixId

string

Es el ID de la matriz de TestExecution que usa TestExecutionService.

  • En respuesta: está presente si se establece mediante create
  • En la creación: opcional
  • En actualización: nunca establecido

Definición de Matrix

Este tipo no tiene campos.

Una dimensión de la matriz de las diferentes ejecuciones de un paso.

Especificación

Los detalles sobre cómo ejecutar la ejecución.

Representación 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ón specification.

specification puede ser una de las siguientes opciones:

androidTest

object (AndroidTest)

Especificación de ejecución de prueba de dispositivos móviles con Android.

iosTest

object (IosTest)

Una especificación de ejecución de prueba para dispositivos móviles con iOS.

Prueba de Android

Especificación de prueba de Android para dispositivos móviles.

Representación 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)

Información sobre la aplicación de prueba.

testTimeout

object (Duration)

El tiempo máximo permitido para que se ejecute una prueba antes de que se cancele automáticamente.

Campo de unión test.

test puede ser una de las siguientes opciones:

androidInstrumentationTest

object (AndroidInstrumentationTest)

Una prueba de instrumentación de Android.

androidRoboTest

object (AndroidRoboTest)

Una prueba de Robo de Android.

androidTestLoop

object (AndroidTestLoop)

Un bucle de prueba de Android

InformaciónDeAppAndroid

Información de la app para Android.

Representación JSON
{
  "name": string,
  "packageName": string,
  "versionName": string,
  "versionCode": string
}
Campos
name

string

Es el nombre de la app. Opcional

packageName

string

Es el nombre del paquete de la app. Obligatorio.

versionName

string

Es el nombre de la versión de la app. Opcional.

versionCode

string

Es el código de versión interna de la app. Opcional.

AndroidInstrumentationTest

Es una prueba de una aplicación para Android que puede controlar un componente independientemente de su ciclo de vida normal.

Para obtener más información sobre los tipos de pruebas de Android, consulta https://developer.android.com/training/testing/fundamentals.

Representación JSON
{
  "testPackageId": string,
  "testRunnerClass": string,
  "testTargets": [
    string
  ],
  "useOrchestrator": boolean
}
Campos
testPackageId

string

Es el paquete Java que se ejecutará en la prueba. Obligatorio

testRunnerClass

string

Es la clase InstrumentationTestRunner. Obligatorio

testTargets[]

string

Cada destino debe estar completamente calificado con el nombre de paquete o de clase, en uno de estos formatos: "packageName" - "class packageName.class_name" - "class packageName.class_name#methodName"

Si estos valores están vacíos, se ejecutarán todos los objetivos del módulo.

useOrchestrator

boolean

La marca indica si se usará o no Android Test Orchestrator para ejecutar las pruebas.

AndroidRoboTest

Es una prueba de una aplicación para Android que explora la aplicación en un dispositivo Android virtual o físico y encuentra culpables y fallas a medida que ocurren.

Representación JSON
{
  "appInitialActivity": string,
  "bootstrapPackageId": string,
  "bootstrapRunnerClass": string,
  "maxDepth": integer,
  "maxSteps": integer
}
Campos
appInitialActivity

string

La actividad inicial que se debe usar para iniciar la app. Opcional

bootstrapPackageId

string

Es el paquete Java del arranque. Opcional

bootstrapRunnerClass

string

Es la clase de ejecutor para el arranque. Opcional

maxDepth

integer

Es la máxima profundidad que el Robo de pila trasversal puede explorar. Opcional

maxSteps

integer

La cantidad máxima de pasos o acciones que Robo puede ejecutar. El valor predeterminado no es límite (0). Opcional

AndroidTestLoop

Este tipo no tiene campos.

Los bucles de prueba son pruebas que la app puede iniciar para determinar cuándo se debe ejecutar escuchando un intent.

Prueba de iOS

Especificación de prueba para dispositivos móviles con iOS

Representación 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)

Información sobre la aplicación de prueba.

testTimeout

object (Duration)

El tiempo máximo permitido para que se ejecute una prueba antes de que se cancele automáticamente.

Campo de unión test.

test puede ser una de las siguientes opciones:

iosXcTest

object (IosXcTest)

Una XCTest de iOS.

iosTestLoop

object (IosTestLoop)

Un bucle de prueba de iOS

iosRoboTest

object (IosRoboTest)

Una prueba Robo de iOS.

Información de la app de iOS

Información de la aplicación para iOS

Representación JSON
{
  "name": string
}
Campos
name

string

Es el nombre de la app. Obligatorias

IosXcTest

Es una prueba de una aplicación para iOS que usa un marco de trabajo XCTest.

Representación JSON
{
  "bundleId": string,
  "xcodeVersion": string
}
Campos
bundleId

string

Es el ID del paquete de la app.

xcodeVersion

string

Versión de Xcode con la que se ejecutó la prueba.

IosTestLoop

Es una prueba de bucle de juego de una aplicación para iOS.

Representación JSON
{
  "bundleId": string
}
Campos
bundleId

string

Es el ID del paquete de la app.

Prueba de IosRobo

Este tipo no tiene campos.

Una prueba Robo para una aplicación para iOS.

Métodos

create

Crea una ejecución.

get

Obtiene una ejecución.

list

Enumera las ejecuciones de un historial determinado.

patch

Actualiza una ejecución existente con la entidad parcial proporcionada.