REST Resource: projects.histories.executions

Ressource: Ausführung

Eine Ausführung stellt eine Sammlung von Schritten dar. Beispielsweise könnte es sich um Folgendes handeln: – einen mobilen Test, der über eine Reihe von Gerätekonfigurationen hinweg ausgeführt wird – einen Jenkins-Job mit einem Build-Schritt, gefolgt von einem Testschritt

Die maximale Größe einer Ausführungsnachricht beträgt 1 MiB.

Eine Ausführung kann aktualisiert werden, bis ihr Status auf ABGESCHLOSSEN gesetzt wird und sie dann unveränderlich wird.

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

string

Eine eindeutige Kennung innerhalb eines Verlaufs für diese Ausführung.

Gibt INVALID_ARGUMENT zurück, wenn dieses Feld vom Aufrufer festgelegt oder überschrieben wird.

  • Als Antwort immer gesetzt
  • In der Erstellungs-/Aktualisierungsanforderung: nie festgelegt
state

enum ( State )

Der Ausgangszustand ist IN_PROGRESS.

Die einzigen zulässigen Zustandsübergänge sind von IN_PROGRESS nach COMPLETE.

Wenn ein ungültiger Übergang angefordert wird, wird ein PRECONDITION_FAILED zurückgegeben.

Der Status kann nur einmal auf COMPLETE gesetzt werden. Eine FAILED_PRECONDITION wird zurückgegeben, wenn der Status mehrmals auf COMPLETE gesetzt wird.

Wenn der Status auf COMPLETE gesetzt ist, werden alle laufenden Schritte innerhalb der Ausführung auf COMPLETE gesetzt. Wenn das Ergebnis des Schritts nicht festgelegt ist, wird das Ergebnis auf INCONCLUSIVE gesetzt.

  • Als Antwort immer gesetzt
  • In der Erstellungs-/Aktualisierungsanfrage: optional
creationTime

object ( Timestamp )

Der Zeitpunkt, zu dem die Ausführung erstellt wurde.

Dieser Wert wird automatisch festgelegt, wenn „executions.create“ aufgerufen wird.

  • Als Antwort: immer gesetzt
  • In der Erstellungs-/Aktualisierungsanforderung: nie festgelegt
completionTime

object ( Timestamp )

Der Zeitpunkt, zu dem der Ausführungsstatus in „ABGESCHLOSSEN“ überging.

Dieser Wert wird automatisch festgelegt, wenn der Status in COMPLETE übergeht.

  • Als Antwort: Wird gesetzt, wenn der Ausführungsstatus COMPLETE ist.
  • In der Erstellungs-/Aktualisierungsanforderung: nie festgelegt
outcome

object ( Outcome )

Klassifizieren Sie das Ergebnis, beispielsweise in ERFOLGREICH oder FEHLER

  • Als Antwort: vorhanden, wenn durch Erstellungs-/Aktualisierungsanforderung festgelegt
  • In der Erstellungs-/Aktualisierungsanfrage: optional
dimensionDefinitions[]

object ( MatrixDimensionDefinition )

Die Dimensionen, entlang derer verschiedene Schritte bei dieser Ausführung durchgeführt werden, können variieren. Dieser muss über die gesamte Dauer der Ausführung bestehen bleiben.

Gibt INVALID_ARGUMENT zurück, wenn dieses Feld in einer Aktualisierungsanforderung festgelegt ist.

Gibt INVALID_ARGUMENT zurück, wenn derselbe Name in mehr als einer Dimensionsdefinition vorkommt.

Gibt INVALID_ARGUMENT zurück, wenn die Größe der Liste mehr als 100 beträgt.

  • Als Antwort: vorhanden, wenn durch Erstellen festgelegt
  • In der Erstellungsanfrage: optional
  • In Update-Anfrage: nie gesetzt
specification

object ( Specification )

Leichte Informationen zur Ausführungsanforderung.

  • Als Antwort: vorhanden, wenn durch Erstellen festgelegt
  • Beim Erstellen: optional
  • Im Update: optional
testExecutionMatrixId

string

TestExecution-Matrix-ID, die der TestExecutionService verwendet.

  • Als Antwort: vorhanden, wenn durch Erstellen festgelegt
  • Beim Erstellen: optional
  • Im Update: nie gesetzt

MatrixDimensionDefinition

Dieser Typ hat keine Felder.

Eine Dimension der Matrix verschiedener Durchläufe eines Schritts.

Spezifikation

Die Details zur Ausführung der Ausführung.

JSON-Darstellung
{

  // 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.
}
Felder

Union- specification .

specification kann nur eine der folgenden sein:

androidTest

object ( AndroidTest )

Eine Testausführungsspezifikation für Android-Mobilgeräte.

iosTest

object ( IosTest )

Eine Testausführungsspezifikation für iOS-Mobilgeräte.

AndroidTest

Eine Testspezifikation für Android-Mobilgeräte.

JSON-Darstellung
{
  "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.
}
Felder
androidAppInfo

object ( AndroidAppInfo )

Informationen zur getesteten Anwendung.

testTimeout

object ( Duration )

Maximale Zeit, die ein Test laufen darf, bevor er automatisch abgebrochen wird.

Union- test .

test kann nur einer der folgenden sein:

androidInstrumentationTest

object ( AndroidInstrumentationTest )

Ein Android-Instrumentierungstest.

androidRoboTest

object ( AndroidRoboTest )

Ein Android-Robo-Test.

androidTestLoop

object ( AndroidTestLoop )

Eine Android-Testschleife.

AndroidAppInfo

Informationen zur Android-App.

JSON-Darstellung
{
  "name": string,
  "packageName": string,
  "versionName": string,
  "versionCode": string
}
Felder
name

string

Der Name der App. Optional

packageName

string

Der Paketname der App. Erforderlich.

versionName

string

Der Versionsname der App. Optional.

versionCode

string

Der interne Versionscode der App. Optional.

AndroidInstrumentationTest

Ein Test einer Android-Anwendung, die eine Android-Komponente unabhängig von ihrem normalen Lebenszyklus steuern kann.

Weitere Informationen zu den Arten von Android-Tests finden Sie unter https://developer.android.com/training/testing/fundamentals .

JSON-Darstellung
{
  "testPackageId": string,
  "testRunnerClass": string,
  "testTargets": [
    string
  ],
  "useOrchestrator": boolean
}
Felder
testPackageId

string

Das Java-Paket für den auszuführenden Test. Erforderlich

testRunnerClass

string

Die InstrumentationTestRunner-Klasse. Erforderlich

testTargets[]

string

Jedes Ziel muss vollständig mit dem Paketnamen oder Klassennamen in einem dieser Formate qualifiziert sein: – „Paketpaketname“ – „Klassenpaketname.Klassenname“ – „Klassenpaketname.Klassenname#Methodenname“

Wenn leer, werden alle Ziele im Modul ausgeführt.

useOrchestrator

boolean

Das Flag gibt an, ob Android Test Orchestrator zum Ausführen des Tests verwendet wird oder nicht.

AndroidRoboTest

Ein Test einer Android-Anwendung, der die Anwendung auf einem virtuellen oder physischen Android-Gerät untersucht und dabei Fehler und Abstürze findet.

JSON-Darstellung
{
  "appInitialActivity": string,
  "bootstrapPackageId": string,
  "bootstrapRunnerClass": string,
  "maxDepth": integer,
  "maxSteps": integer
}
Felder
appInitialActivity

string

Die anfängliche Aktivität, die zum Starten der App verwendet werden soll. Optional

bootstrapPackageId

string

Das Java-Paket für den Bootstrap. Optional

bootstrapRunnerClass

string

Die Runner-Klasse für den Bootstrap. Optional

maxDepth

integer

Die maximale Tiefe des Traversal-Stapels, die Robo erkunden kann. Optional

maxSteps

integer

Die maximale Anzahl an Schritten/Aktionen, die Robo ausführen kann. Der Standardwert ist keine Begrenzung (0). Optional

AndroidTestLoop

Dieser Typ hat keine Felder.

Testschleifen sind Tests, die von der App selbst gestartet werden können und durch Abhören einer Absicht bestimmen, wann sie ausgeführt werden sollen.

IosTest

Eine Testspezifikation für iOS-Mobilgeräte

JSON-Darstellung
{
  "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.
}
Felder
iosAppInfo

object ( IosAppInfo )

Informationen zur getesteten Anwendung.

testTimeout

object ( Duration )

Maximale Zeit, die ein Test laufen darf, bevor er automatisch abgebrochen wird.

Union- test .

test kann nur einer der folgenden sein:

iosXcTest

object ( IosXcTest )

Ein iOS XCTest.

iosTestLoop

object ( IosTestLoop )

Eine iOS-Testschleife.

iosRoboTest

object ( IosRoboTest )

Ein iOS Robo-Test.

IosAppInfo

Informationen zur iOS-App

JSON-Darstellung
{
  "name": string
}
Felder
name

string

Der Name der App. Erforderlich

IosXcTest

Ein Test einer iOS-Anwendung, die das XCTest-Framework verwendet.

JSON-Darstellung
{
  "bundleId": string,
  "xcodeVersion": string
}
Felder
bundleId

string

Bundle-ID der App.

xcodeVersion

string

Xcode-Version, mit der der Test ausgeführt wurde.

IosTestLoop

Ein Game-Loop-Test einer iOS-Anwendung.

JSON-Darstellung
{
  "bundleId": string
}
Felder
bundleId

string

Bundle-ID der App.

IosRoboTest

Dieser Typ hat keine Felder.

Ein Robo-Test für eine iOS-Anwendung.

Methoden

create

Erstellt eine Ausführung.

get

Ruft eine Ausführung ab.

list

Listet Ausführungen für einen bestimmten Verlauf auf.

patch

Aktualisiert eine vorhandene Ausführung mit der bereitgestellten Teilentität.