REST Resource: projects.histories.executions

Recurso: Ejecución

Una Ejecución representa una colección de Pasos. Por ejemplo, podría representar: - una prueba móvil ejecutada en una variedad de configuraciones de dispositivos - un trabajo de jenkins con un paso de compilación seguido de un paso de prueba

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

Una ejecución se puede actualizar hasta que su estado se establezca en COMPLETO, momento en el que se vuelve 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.

Devuelve INVALID_ARGUMENT si la persona que llama establece o sobrescribe este campo.

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

enum ( State )

El estado inicial es IN_PROGRESS.

Las únicas transiciones de estado legales son de IN_PROGRESS a COMPLETE.

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

El estado sólo se puede establecer en COMPLETO una vez. Se devolverá FAILED_PRECONDITION si el estado se establece en COMPLETE varias veces.

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

  • En respuesta siempre se establece
  • En solicitud de creación/actualización: opcional
creationTime

object ( Timestamp )

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

Este valor se establecerá automáticamente cuando se llame a ejecuciones.create.

  • En respuesta: siempre configurado
  • En solicitud de creación/actualización: nunca establecido
completionTime

object ( Timestamp )

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

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

  • En respuesta: establezca si el estado de ejecución es COMPLETO.
  • En solicitud de creación/actualización: nunca establecido
outcome

object ( Outcome )

Clasificar el resultado, por ejemplo en ÉXITO o FRACASO

  • En respuesta: presente si lo establece la solicitud de creación/actualización
  • En solicitud de creación/actualización: opcional
dimensionDefinitions[]

object ( MatrixDimensionDefinition )

Las dimensiones a lo largo de las cuales pueden variar los diferentes pasos de esta ejecución. Éste debe permanecer fijo durante la vida de la ejecución.

Devuelve INVALID_ARGUMENT si este campo está configurado en una solicitud de actualización.

Devuelve INVALID_ARGUMENT si el mismo nombre aparece en más de una definición_dimensión.

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

  • En respuesta: presente si lo establece crear
  • En solicitud de creación: opcional
  • En solicitud de actualización: nunca establecido
specification

object ( Specification )

Información ligera sobre la solicitud de ejecución.

  • En respuesta: presente si lo establece crear
  • En crear: opcional
  • En actualización: opcional
testExecutionMatrixId

string

ID de TestExecution Matrix que utiliza TestExecutionService.

  • En respuesta: presente si lo establece crear
  • En crear: opcional
  • En actualización: nunca configurado

MatrizDimensiónDefinición

Este tipo no tiene campos.

Una dimensión de la matriz de 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

specification del campo de unión.

specification puede ser sólo una de las siguientes:

androidTest

object ( AndroidTest )

Una especificación de ejecución de pruebas móviles de Android.

iosTest

object ( IosTest )

Una especificación de ejecución de pruebas móviles de iOS.

Prueba de Android

Una especificación de prueba móvil Android.

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 bajo prueba.

testTimeout

object ( Duration )

Tiempo máximo que se permite ejecutar una prueba antes de que se cancele automáticamente.

test de campo de la unión.

test puede ser sólo una de las siguientes:

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.

AndroidAppInfo

Información de la aplicación de Android.

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

string

El nombre de la aplicación. Opcional

packageName

string

El nombre del paquete de la aplicación. Requerido.

versionName

string

El nombre de la versión de la aplicación. Opcional.

versionCode

string

El código de versión interna de la aplicación. Opcional.

Prueba de instrumentación de Android

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

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

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

string

El paquete java para que se ejecute la prueba. Requerido

testRunnerClass

string

La clase InstrumentationTestRunner. Requerido

testTargets[]

string

Cada destino debe estar completamente calificado con el nombre del paquete o el nombre de la clase, en uno de estos formatos: - "paquete Nombre del paquete" - "clase Nombre del paquete.nombre_clase" - "clase Nombre del paquete.nombre_clase#nombre_método"

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

useOrchestrator

boolean

La bandera indica si se utilizará Android Test Orchestrator para ejecutar la prueba o no.

AndroidRoboPrueba

Una prueba de una aplicación de Android que explora la aplicación en un dispositivo Android virtual o físico, encontrando culpables y fallas a medida que avanza.

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

string

La actividad inicial que se debe utilizar para iniciar la aplicación. Opcional

bootstrapPackageId

string

El paquete java para bootstrap. Opcional

bootstrapRunnerClass

string

La clase de corredor para el bootstrap. Opcional

maxDepth

integer

La profundidad máxima de la pila transversal que Robo puede explorar. Opcional

maxSteps

integer

El número máximo de pasos/acciones que Robo puede ejecutar. El valor predeterminado es sin límite (0). Opcional

Bucle de prueba de Android

Este tipo no tiene campos.

Los bucles de prueba son pruebas que la propia aplicación puede iniciar y determinan cuándo ejecutarse escuchando una intención.

Prueba de iOS

Una especificación de prueba móvil 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 bajo prueba.

testTimeout

object ( Duration )

Tiempo máximo que se permite ejecutar una prueba antes de que se cancele automáticamente.

test de campo de la unión.

test puede ser sólo una de las siguientes:

iosXcTest

object ( IosXcTest )

Una prueba XCT de iOS.

iosTestLoop

object ( IosTestLoop )

Un bucle de prueba de iOS.

iosRoboTest

object ( IosRoboTest )

Una prueba de iOS Robo.

IosAppInfo

información de la aplicación iOS

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

string

El nombre de la aplicación. Requerido

Prueba IosXc

Una prueba de una aplicación de iOS que utiliza el marco XCTest.

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

string

ID de paquete de la aplicación.

xcodeVersion

string

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

IosTestLoop

Una prueba de bucle de juego de una aplicación de iOS.

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

string

ID de paquete de la aplicación.

IosRoboPrueba

Este tipo no tiene campos.

Una prueba de Robo para una aplicación de iOS.

Métodos

create

Crea una ejecución.

get

Obtiene una ejecución.

list

Enumera las ejecuciones para un historial determinado.

patch

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