REST Resource: projects.histories.executions

Risorsa: esecuzione

Un'esecuzione rappresenta una raccolta di passaggi. Ad esempio, potrebbe rappresentare: - un test mobile eseguito su una gamma di configurazioni del dispositivo - un lavoro Jenkins con una fase di creazione seguita da una fase di test

La dimensione massima di un messaggio di esecuzione è 1 MiB.

Un'esecuzione può essere aggiornata finché il suo stato non viene impostato su COMPLETE, a quel punto diventa immutabile.

Rappresentazione JSON
{
  "executionId": string,
  "state": enum (State),
  "creationTime": {
    object (Timestamp)
  },
  "completionTime": {
    object (Timestamp)
  },
  "outcome": {
    object (Outcome)
  },
  "dimensionDefinitions": [
    {
      object (MatrixDimensionDefinition)
    }
  ],
  "specification": {
    object (Specification)
  },
  "testExecutionMatrixId": string
}
Campi
executionId

string

Un identificatore univoco all'interno di una cronologia per questa esecuzione.

Restituisce INVALID_ARGUMENT se questo campo viene impostato o sovrascritto dal chiamante.

  • In risposta sempre impostato
  • Nella richiesta di creazione/aggiornamento: non impostare mai
state

enum ( State )

Lo stato iniziale è IN_PROGRESS.

Le uniche transizioni di stato legali sono da IN_PROGRESS a COMPLETE.

Se viene richiesta una transizione non valida verrà restituito un PRECONDITION_FAILED.

Lo stato può essere impostato su COMPLETE solo una volta. Verrà restituito un FAILED_PRECONDITION se lo stato è impostato su COMPLETE più volte.

Se lo stato è impostato su COMPLETE, tutti i passaggi in corso nell'esecuzione verranno impostati come COMPLETE. Se il risultato del passaggio non è impostato, il risultato verrà impostato su INCONCLUSIVE.

  • In risposta sempre impostato
  • Nella richiesta di creazione/aggiornamento: facoltativo
creationTime

object ( Timestamp )

L'ora in cui è stata creata l'esecuzione.

Questo valore verrà impostato automaticamente quando viene chiamato Executions.create.

  • In risposta: sempre impostato
  • Nella richiesta di creazione/aggiornamento: non impostare mai
completionTime

object ( Timestamp )

L'ora in cui lo stato di esecuzione è passato a COMPLETE.

Questo valore verrà impostato automaticamente quando lo stato passa a COMPLETE.

  • In risposta: impostato se lo stato di esecuzione è COMPLETO.
  • Nella richiesta di creazione/aggiornamento: non impostare mai
outcome

object ( Outcome )

Classificare il risultato, ad esempio in SUCCESSO o FALLIMENTO

  • In risposta: presente se impostato dalla richiesta di creazione/aggiornamento
  • Nella richiesta di creazione/aggiornamento: facoltativo
dimensionDefinitions[]

object ( MatrixDimensionDefinition )

Le dimensioni lungo le quali possono variare le diverse fasi di questa esecuzione. Questo deve rimanere fisso per tutta la durata dell'esecuzione.

Restituisce INVALID_ARGUMENT se questo campo è impostato in una richiesta di aggiornamento.

Restituisce INVALID_ARGUMENT se lo stesso nome ricorre in più di una dimension_definition.

Restituisce INVALID_ARGUMENT se la dimensione dell'elenco è superiore a 100.

  • In risposta: presente se impostato da create
  • Nella richiesta di creazione: facoltativo
  • Nella richiesta di aggiornamento: mai impostato
specification

object ( Specification )

Informazioni leggere sulla richiesta di esecuzione.

  • In risposta: presente se impostato da create
  • In creazione: facoltativo
  • In aggiornamento: facoltativo
testExecutionMatrixId

string

ID matrice TestExecution utilizzato da TestExecutionService.

  • In risposta: presente se impostato da create
  • In creazione: facoltativo
  • In aggiornamento: mai impostato

Definizione della dimensione della matrice

Questo tipo non ha campi.

Una dimensione della matrice di diverse esecuzioni di un passo.

Specifica

I dettagli su come eseguire l'esecuzione.

Rappresentazione 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.
}
Campi

specification del campo dell'Unione.

specification può essere solo una delle seguenti:

androidTest

object ( AndroidTest )

Una specifica per l'esecuzione del test mobile Android.

iosTest

object ( IosTest )

Una specifica per l'esecuzione del test mobile iOS.

AndroidTest

Una specifica di test mobile Android.

Rappresentazione 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.
}
Campi
androidAppInfo

object ( AndroidAppInfo )

Informazioni sull'applicazione in fase di test.

testTimeout

object ( Duration )

Tempo massimo consentito per l'esecuzione di un test prima che venga annullato automaticamente.

test sul campo dell'Unione.

test può essere solo uno dei seguenti:

androidInstrumentationTest

object ( AndroidInstrumentationTest )

Un test della strumentazione Android.

androidRoboTest

object ( AndroidRoboTest )

Un test robotico Android.

androidTestLoop

object ( AndroidTestLoop )

Un ciclo di test Android.

AndroidAppInfo

Informazioni sull'app Android.

Rappresentazione JSON
{
  "name": string,
  "packageName": string,
  "versionName": string,
  "versionCode": string
}
Campi
name

string

Il nome dell'app. Opzionale

packageName

string

Il nome del pacchetto dell'app. Necessario.

versionName

string

Il nome della versione dell'app. Opzionale.

versionCode

string

Il codice della versione interna dell'app. Opzionale.

AndroidStrumentazioneTest

Un test di un'applicazione Android in grado di controllare un componente Android indipendentemente dal suo normale ciclo di vita.

Vedi https://developer.android.com/training/testing/fundamentals per ulteriori informazioni sui tipi di test Android.

Rappresentazione JSON
{
  "testPackageId": string,
  "testRunnerClass": string,
  "testTargets": [
    string
  ],
  "useOrchestrator": boolean
}
Campi
testPackageId

string

Il pacchetto Java per il test da eseguire. Necessario

testRunnerClass

string

La classe InstrumentationTestRunner. Necessario

testTargets[]

string

Ogni destinazione deve essere completamente qualificata con il nome del pacchetto o il nome della classe, in uno di questi formati: - "package packageName" - "class packageName.class_name" - "class packageName.class_name#method_name"

Se vuoto, verranno eseguiti tutti i target nel modulo.

useOrchestrator

boolean

Il flag indica se Android Test Orchestrator verrà utilizzato per eseguire il test o meno.

AndroidRoboTest

Un test di un'applicazione Android che esplora l'applicazione su un dispositivo Android virtuale o fisico, trovando colpevoli e bloccandosi man mano che procede.

Rappresentazione JSON
{
  "appInitialActivity": string,
  "bootstrapPackageId": string,
  "bootstrapRunnerClass": string,
  "maxDepth": integer,
  "maxSteps": integer
}
Campi
appInitialActivity

string

L'attività iniziale da utilizzare per avviare l'app. Opzionale

bootstrapPackageId

string

Il pacchetto Java per il bootstrap. Opzionale

bootstrapRunnerClass

string

La classe runner per il bootstrap. Opzionale

maxDepth

integer

La profondità massima dello stack trasversale che Robo può esplorare. Opzionale

maxSteps

integer

Il numero massimo di passaggi/azioni che Robo può eseguire. L'impostazione predefinita è nessun limite (0). Opzionale

AndroidTestLoop

Questo tipo non ha campi.

I test loop sono test che possono essere avviati dall'app stessa, determinando quando eseguirli ascoltando un intento.

IosTest

Una specifica di test mobile iOS

Rappresentazione 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.
}
Campi
iosAppInfo

object ( IosAppInfo )

Informazioni sull'applicazione in fase di test.

testTimeout

object ( Duration )

Tempo massimo consentito per l'esecuzione di un test prima che venga annullato automaticamente.

test sul campo dell'Unione.

test può essere solo uno dei seguenti:

iosXcTest

object ( IosXcTest )

Un XCTest per iOS.

iosTestLoop

object ( IosTestLoop )

Un ciclo di test iOS.

iosRoboTest

object ( IosRoboTest )

Un test di iOS Robo.

IosAppInfo

Informazioni sull'app iOS

Rappresentazione JSON
{
  "name": string
}
Campi
name

string

Il nome dell'app. Necessario

IosXcTest

Un test di un'applicazione iOS che utilizza il framework XCTest.

Rappresentazione JSON
{
  "bundleId": string,
  "xcodeVersion": string
}
Campi
bundleId

string

ID pacchetto dell'app.

xcodeVersion

string

Versione di Xcode con cui è stato eseguito il test.

IosTestLoop

Un test del loop di gioco di un'applicazione iOS.

Rappresentazione JSON
{
  "bundleId": string
}
Campi
bundleId

string

ID pacchetto dell'app.

IosRoboTest

Questo tipo non ha campi.

Un test Robo per un'applicazione iOS.

Metodi

create

Crea un'esecuzione.

get

Ottiene un'esecuzione.

list

Elenca le esecuzioni per una determinata cronologia.

patch

Aggiorna un'esecuzione esistente con l'entità parziale fornita.