REST Resource: projects.histories.executions

Ressource : Exécution

Une exécution représente un ensemble d'étapes. Par exemple, cela pourrait représenter : - un test mobile exécuté sur une gamme de configurations d'appareils - une tâche jenkins avec une étape de construction suivie d'une étape de test

La taille maximale d'un message d'exécution est de 1 Mo.

Une exécution peut être mise à jour jusqu'à ce que son état soit défini sur COMPLETE, auquel cas elle devient immuable.

Représentation JSON
{
  "executionId": string,
  "state": enum (State),
  "creationTime": {
    object (Timestamp)
  },
  "completionTime": {
    object (Timestamp)
  },
  "outcome": {
    object (Outcome)
  },
  "dimensionDefinitions": [
    {
      object (MatrixDimensionDefinition)
    }
  ],
  "specification": {
    object (Specification)
  },
  "testExecutionMatrixId": string
}
Des champs
executionId

string

Un identifiant unique dans un historique pour cette exécution.

Renvoie INVALID_ARGUMENT si ce champ est défini ou écrasé par l'appelant.

  • En réponse, toujours défini
  • Dans la demande de création/mise à jour : jamais définie
state

enum ( State )

L'état initial est IN_PROGRESS.

Les seules transitions d’état légales sont de IN_PROGRESS à COMPLETE.

Un PRECONDITION_FAILED sera renvoyé si une transition non valide est demandée.

L’état ne peut être défini sur COMPLETE qu’une seule fois. Un FAILED_PRECONDITION sera renvoyé si l'état est défini plusieurs fois sur COMPLETE.

Si l'état est défini sur COMPLETE, toutes les étapes en cours dans l'exécution seront définies comme COMPLETE. Si le résultat de l’étape n’est pas défini, le résultat sera défini sur INCONCLUSIF.

  • En réponse, toujours défini
  • Dans la demande de création/mise à jour : facultatif
creationTime

object ( Timestamp )

L'heure à laquelle l'exécution a été créée.

Cette valeur sera définie automatiquement lors de l'appel de Executions.create.

  • En réponse : toujours défini
  • Dans la demande de création/mise à jour : jamais définie
completionTime

object ( Timestamp )

Heure à laquelle l’état d’exécution est passé à COMPLETE.

Cette valeur sera définie automatiquement lorsque l’état passe à COMPLETE.

  • En réponse : défini si l'état d'exécution est COMPLETE.
  • Dans la demande de création/mise à jour : jamais définie
outcome

object ( Outcome )

Classer le résultat, par exemple en SUCCÈS ou ÉCHEC

  • En réponse : présent si défini par la demande de création/mise à jour
  • Dans la demande de création/mise à jour : facultatif
dimensionDefinitions[]

object ( MatrixDimensionDefinition )

Les dimensions selon lesquelles les différentes étapes de cette exécution peuvent varier. Celui-ci doit rester fixe pendant toute la durée de l'exécution.

Renvoie INVALID_ARGUMENT si ce champ est défini dans une demande de mise à jour.

Renvoie INVALID_ARGUMENT si le même nom apparaît dans plusieurs dimension_definition.

Renvoie INVALID_ARGUMENT si la taille de la liste est supérieure à 100.

  • En réponse : présent si défini par create
  • Dans la demande de création : facultatif
  • Dans la demande de mise à jour : jamais défini
specification

object ( Specification )

Informations légères sur la demande d'exécution.

  • En réponse : présent si défini par create
  • En création : facultatif
  • En mise à jour : facultatif
testExecutionMatrixId

string

ID de matrice TestExecution utilisé par TestExecutionService.

  • En réponse : présent si défini par create
  • En création : facultatif
  • En mise à jour : jamais défini

MatriceDimensionDéfinition

Ce type n'a pas de champs.

Une dimension de la matrice des différentes exécutions d'une étape.

spécification

Les détails sur la façon d’exécuter l’exécution.

Représentation 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.
}
Des champs

specification du champ Union.

specification ne peut être que l’un des éléments suivants :

androidTest

object ( AndroidTest )

Une spécification d’exécution de tests mobiles Android.

iosTest

object ( IosTest )

Une spécification d'exécution de tests mobiles iOS.

Test Android

Une spécification de test mobile Android.

Représentation 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.
}
Des champs
androidAppInfo

object ( AndroidAppInfo )

Informations sur l'application testée.

testTimeout

object ( Duration )

Durée maximale pendant laquelle un test est autorisé à s'exécuter avant qu'il ne soit automatiquement annulé.

test sur le terrain de l'Union.

test ne peut être qu’un des éléments suivants :

androidInstrumentationTest

object ( AndroidInstrumentationTest )

Un test d'instrumentation Android.

androidRoboTest

object ( AndroidRoboTest )

Un test robot Android.

androidTestLoop

object ( AndroidTestLoop )

Une boucle de test Android.

Informations sur l'application Android

Informations sur l'application Android.

Représentation JSON
{
  "name": string,
  "packageName": string,
  "versionName": string,
  "versionCode": string
}
Des champs
name

string

Le nom de l'application. Facultatif

packageName

string

Le nom du package de l’application. Requis.

versionName

string

Le nom de la version de l'application. Facultatif.

versionCode

string

Le code de version interne de l'application. Facultatif.

AndroidInstrumentationTest

Un test d'une application Android capable de contrôler un composant Android indépendamment de son cycle de vie normal.

Voir https://developer.android.com/training/testing/fundamentals pour plus d'informations sur les types de tests Android.

Représentation JSON
{
  "testPackageId": string,
  "testRunnerClass": string,
  "testTargets": [
    string
  ],
  "useOrchestrator": boolean
}
Des champs
testPackageId

string

Le package Java pour le test à exécuter. Requis

testRunnerClass

string

La classe InstrumentationTestRunner. Requis

testTargets[]

string

Chaque cible doit être entièrement qualifiée avec le nom du package ou le nom de la classe, dans l'un des formats suivants : - "package packageName" - "class packageName.class_name" - "class packageName.class_name#method_name"

S'il est vide, toutes les cibles du module seront exécutées.

useOrchestrator

boolean

L'indicateur indique si Android Test Orchestrator sera utilisé pour exécuter le test ou non.

AndroidRoboTest

Un test d'une application Android qui explore l'application sur un appareil Android virtuel ou physique, trouvant les coupables et les plantages au fur et à mesure.

Représentation JSON
{
  "appInitialActivity": string,
  "bootstrapPackageId": string,
  "bootstrapRunnerClass": string,
  "maxDepth": integer,
  "maxSteps": integer
}
Des champs
appInitialActivity

string

L'activité initiale qui doit être utilisée pour démarrer l'application. Facultatif

bootstrapPackageId

string

Le package Java pour le bootstrap. Facultatif

bootstrapRunnerClass

string

La classe runner pour le bootstrap. Facultatif

maxDepth

integer

La profondeur maximale de la pile de traversée que Robo peut explorer. Facultatif

maxSteps

integer

Le nombre maximum d'étapes/actions que Robo peut exécuter. La valeur par défaut est aucune limite (0). Facultatif

AndroidTestBoucle

Ce type n'a pas de champs.

Les boucles de test sont des tests qui peuvent être lancés par l'application elle-même, déterminant quand les exécuter en écoutant une intention.

IosTest

Une spécification de test mobile iOS

Représentation 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.
}
Des champs
iosAppInfo

object ( IosAppInfo )

Informations sur l'application testée.

testTimeout

object ( Duration )

Durée maximale pendant laquelle un test est autorisé à s'exécuter avant qu'il ne soit automatiquement annulé.

test sur le terrain de l'Union.

test ne peut être qu’un des éléments suivants :

iosXcTest

object ( IosXcTest )

Un XCTest iOS.

iosTestLoop

object ( IosTestLoop )

Une boucle de test iOS.

iosRoboTest

object ( IosRoboTest )

Un test de robot iOS.

IosAppInfo

Informations sur l'application iOS

Représentation JSON
{
  "name": string
}
Des champs
name

string

Le nom de l'application. Requis

IosXcTest

Un test d'une application iOS qui utilise le framework XCTest.

Représentation JSON
{
  "bundleId": string,
  "xcodeVersion": string
}
Des champs
bundleId

string

ID du bundle de l’application.

xcodeVersion

string

Version Xcode avec laquelle le test a été exécuté.

IosTestBoucle

Un test de boucle de jeu d'une application iOS.

Représentation JSON
{
  "bundleId": string
}
Des champs
bundleId

string

ID du bundle de l’application.

IosRoboTest

Ce type n'a pas de champs.

Un test Robo pour une application iOS.

Méthodes

create

Crée une exécution.

get

Obtient une exécution.

list

Répertorie les exécutions pour un historique donné.

patch

Met à jour une exécution existante avec l'entité partielle fournie.