REST Resource: projects.histories.executions

Ресурс: Исполнение

Выполнение представляет собой набор шагов. Например, он может представлять собой: - мобильный тест, выполняемый для различных конфигураций устройств - задание jenkins с этапом сборки, за которым следует этап тестирования.

Максимальный размер сообщения выполнения — 1 МБ.

Выполнение может обновляться до тех пор, пока его состояние не станет ЗАВЕРШЕННЫМ, после чего оно станет неизменяемым.

JSON-представление
{
  "executionId": string,
  "state": enum (State),
  "creationTime": {
    object (Timestamp)
  },
  "completionTime": {
    object (Timestamp)
  },
  "outcome": {
    object (Outcome)
  },
  "dimensionDefinitions": [
    {
      object (MatrixDimensionDefinition)
    }
  ],
  "specification": {
    object (Specification)
  },
  "testExecutionMatrixId": string
}
Поля
executionId

string

Уникальный идентификатор в истории этого выполнения.

Возвращает INVALID_ARGUMENT, если это поле установлено или перезаписано вызывающей стороной.

  • В ответ всегда устанавливаю
  • В запросе на создание/обновление: никогда не устанавливать
state

enum ( State )

Исходное состояние — IN_PROGRESS.

Единственные допустимые переходы состояний — от IN_PROGRESS к COMPLETE.

PRECONDITION_FAILED будет возвращен, если запрошен недопустимый переход.

Состояние может быть установлено в COMPLETE только один раз. FAILED_PRECONDITION будет возвращено, если состояние установлено на COMPLETE несколько раз.

Если состояние установлено на ЗАВЕРШЕНО, все текущие шаги выполнения будут установлены как ЗАВЕРШЕННЫЕ. Если результат шага не установлен, результат будет установлен как НЕОПРЕДЕЛЕННЫЙ.

  • В ответ всегда устанавливаю
  • В запросе на создание/обновление: необязательно.
creationTime

object ( Timestamp )

Время создания Казни.

Это значение будет установлено автоматически при вызове Executions.create.

  • В ответ: всегда устанавливаю
  • В запросе на создание/обновление: никогда не устанавливать
completionTime

object ( Timestamp )

Время перехода статуса выполнения на ЗАВЕРШЕНО.

Это значение будет установлено автоматически при переходе состояния в ЗАВЕРШЕНО.

  • В ответ: устанавливается, если состояние выполнения ЗАВЕРШЕНО.
  • В запросе на создание/обновление: никогда не устанавливать
outcome

object ( Outcome )

Классифицируйте результат, например, на УСПЕХ или НЕУДАЧУ.

  • В ответ: присутствует, если установлено запросом на создание/обновление.
  • В запросе на создание/обновление: необязательно.
dimensionDefinitions[]

object ( MatrixDimensionDefinition )

Размеры, по которым могут различаться различные этапы этого выполнения. Это должно оставаться фиксированным на протяжении всего срока исполнения.

Возвращает INVALID_ARGUMENT, если это поле установлено в запросе на обновление.

Возвращает INVALID_ARGUMENT, если одно и то же имя встречается более чем в одном измерении_определения.

Возвращает INVALID_ARGUMENT, если размер списка превышает 100.

  • В ответ: присутствует, если установлено при создании
  • В запросе на создание: необязательно
  • В запросе на обновление: никогда не устанавливать
specification

object ( Specification )

Облегченная информация о запросе на выполнение.

  • В ответ: присутствует, если установлено при создании
  • В создании: необязательно
  • В обновлении: необязательно
testExecutionMatrixId

string

Идентификатор матрицы TestExecution, который использует TestExecutionService.

  • В ответ: присутствует, если установлено при создании
  • В создании: необязательно
  • В обновлении: никогда не устанавливалось

МатрицаИзмерениеОпределение

Этот тип не имеет полей.

Одно измерение матрицы разных прогонов шага.

Спецификация

Подробности о том, как запустить выполнение.

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.
}
Поля

specification поля Union.

specification может быть только одной из следующих:

androidTest

object ( AndroidTest )

Спецификация выполнения мобильных тестов Android.

iosTest

object ( IosTest )

Спецификация выполнения мобильных тестов iOS.

AndroidTest

Спецификация мобильного тестирования Android.

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.
}
Поля
androidAppInfo

object ( AndroidAppInfo )

Информация о тестируемом приложении.

testTimeout

object ( Duration )

Максимальное время, в течение которого тест может быть запущен, прежде чем он будет автоматически отменен.

Полевые test Союза.

test может быть только одним из следующих:

androidInstrumentationTest

object ( AndroidInstrumentationTest )

Инструментальный тест Android.

androidRoboTest

object ( AndroidRoboTest )

Робо-тест Android.

androidTestLoop

object ( AndroidTestLoop )

Тестовый цикл Android.

AndroidAppInfo

Информация о приложении Android.

JSON-представление
{
  "name": string,
  "packageName": string,
  "versionName": string,
  "versionCode": string
}
Поля
name

string

Название приложения. Необязательный

packageName

string

Имя пакета приложения. Необходимый.

versionName

string

Название версии приложения. Необязательный.

versionCode

string

Внутренний код версии приложения. Необязательный.

AndroidИнструментацияТест

Тест приложения Android, которое может управлять компонентом Android независимо от его обычного жизненного цикла.

Дополнительную информацию о типах тестов Android см. на странице https://developer.android.com/training/testing/fundamentals .

JSON-представление
{
  "testPackageId": string,
  "testRunnerClass": string,
  "testTargets": [
    string
  ],
  "useOrchestrator": boolean
}
Поля
testPackageId

string

Пакет Java для выполнения теста. Необходимый

testRunnerClass

string

Класс InstrumentationTestRunner. Необходимый

testTargets[]

string

Каждая цель должна быть полностью уточнена именем пакета или именем класса в одном из следующих форматов: - «имя_пакета_пакета» - «имя_пакета_класса.имя_класса» - «имя_пакета_класса.имя_класса#имя_метода»

Если пусто, будут запущены все цели в модуле.

useOrchestrator

boolean

Флаг указывает, будет ли Android Test Orchestrator использоваться для запуска теста или нет.

AndroidРобоТест

Тест приложения Android, который исследует приложение на виртуальном или физическом устройстве Android, выявляя виновников и сбои по ходу работы.

JSON-представление
{
  "appInitialActivity": string,
  "bootstrapPackageId": string,
  "bootstrapRunnerClass": string,
  "maxDepth": integer,
  "maxSteps": integer
}
Поля
appInitialActivity

string

Начальное действие, которое следует использовать для запуска приложения. Необязательный

bootstrapPackageId

string

Java-пакет для начальной загрузки. Необязательный

bootstrapRunnerClass

string

Класс бегуна для начальной загрузки. Необязательный

maxDepth

integer

Максимальная глубина стека обхода, которую может исследовать Робо. Необязательный

maxSteps

integer

Максимальное количество шагов/действий, которые может выполнить робот. По умолчанию — без ограничений (0). Необязательный

AndroidTestLoop

Этот тип не имеет полей.

Тестовые циклы — это тесты, которые могут запускаться самим приложением и определять, когда запускать, путем прослушивания намерения.

IosTest

Спецификация мобильного теста iOS

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.
}
Поля
iosAppInfo

object ( IosAppInfo )

Информация о тестируемом приложении.

testTimeout

object ( Duration )

Максимальное время, в течение которого тест может быть запущен, прежде чем он будет автоматически отменен.

Полевые test Союза.

test может быть только одним из следующих:

iosXcTest

object ( IosXcTest )

iOS XCTest.

iosTestLoop

object ( IosTestLoop )

Цикл тестирования iOS.

iosRoboTest

object ( IosRoboTest )

Робо-тест iOS.

IosAppInfo

Информация о приложении iOS

JSON-представление
{
  "name": string
}
Поля
name

string

Название приложения. Необходимый

IosXcTest

Тест приложения iOS, использующего платформу XCTest.

JSON-представление
{
  "bundleId": string,
  "xcodeVersion": string
}
Поля
bundleId

string

Идентификатор пакета приложения.

xcodeVersion

string

Версия Xcode, с которой выполнялся тест.

IosTestLoop

Тест игрового цикла приложения iOS.

JSON-представление
{
  "bundleId": string
}
Поля
bundleId

string

Идентификатор пакета приложения.

IosRoboTest

Этот тип не имеет полей.

Робо-тест для приложения iOS.

Методы

create

Создает выполнение.

get

Получает Казнь.

list

Перечисляет казни для данной истории.

patch

Обновляет существующее выполнение с использованием предоставленного частичного объекта.
,

Ресурс: Исполнение

Выполнение представляет собой набор шагов. Например, он может представлять собой: - мобильный тест, выполняемый для различных конфигураций устройств - задание jenkins с этапом сборки, за которым следует этап тестирования.

Максимальный размер сообщения выполнения — 1 МБ.

Выполнение может обновляться до тех пор, пока его состояние не станет ЗАВЕРШЕННЫМ, после чего оно станет неизменяемым.

JSON-представление
{
  "executionId": string,
  "state": enum (State),
  "creationTime": {
    object (Timestamp)
  },
  "completionTime": {
    object (Timestamp)
  },
  "outcome": {
    object (Outcome)
  },
  "dimensionDefinitions": [
    {
      object (MatrixDimensionDefinition)
    }
  ],
  "specification": {
    object (Specification)
  },
  "testExecutionMatrixId": string
}
Поля
executionId

string

Уникальный идентификатор в истории этого выполнения.

Возвращает INVALID_ARGUMENT, если это поле установлено или перезаписано вызывающей стороной.

  • В ответ всегда устанавливаю
  • В запросе на создание/обновление: никогда не устанавливать
state

enum ( State )

Исходное состояние — IN_PROGRESS.

Единственные допустимые переходы состояний — от IN_PROGRESS к COMPLETE.

PRECONDITION_FAILED будет возвращен, если запрошен недопустимый переход.

Состояние может быть установлено в COMPLETE только один раз. FAILED_PRECONDITION будет возвращено, если состояние установлено на COMPLETE несколько раз.

Если состояние установлено на ЗАВЕРШЕНО, все текущие шаги выполнения будут установлены как ЗАВЕРШЕННЫЕ. Если результат шага не установлен, результат будет установлен как НЕОПРЕДЕЛЕННЫЙ.

  • В ответ всегда устанавливаю
  • В запросе на создание/обновление: необязательно.
creationTime

object ( Timestamp )

Время создания Казни.

Это значение будет установлено автоматически при вызове Executions.create.

  • В ответ: всегда устанавливаю
  • В запросе на создание/обновление: никогда не устанавливать
completionTime

object ( Timestamp )

Время перехода статуса выполнения на ЗАВЕРШЕНО.

Это значение будет установлено автоматически при переходе состояния в ЗАВЕРШЕНО.

  • В ответ: устанавливается, если состояние выполнения ЗАВЕРШЕНО.
  • В запросе на создание/обновление: никогда не устанавливать
outcome

object ( Outcome )

Классифицируйте результат, например, на УСПЕХ или НЕУДАЧУ.

  • В ответ: присутствует, если установлено запросом на создание/обновление.
  • В запросе на создание/обновление: необязательно.
dimensionDefinitions[]

object ( MatrixDimensionDefinition )

Размеры, по которым могут различаться различные этапы этого выполнения. Это должно оставаться фиксированным на протяжении всего срока исполнения.

Возвращает INVALID_ARGUMENT, если это поле установлено в запросе на обновление.

Возвращает INVALID_ARGUMENT, если одно и то же имя встречается более чем в одном измерении_определения.

Возвращает INVALID_ARGUMENT, если размер списка превышает 100.

  • В ответ: присутствует, если установлено при создании
  • В запросе на создание: необязательно
  • В запросе на обновление: никогда не устанавливать
specification

object ( Specification )

Облегченная информация о запросе на выполнение.

  • В ответ: присутствует, если установлено при создании
  • В создании: необязательно
  • В обновлении: необязательно
testExecutionMatrixId

string

Идентификатор матрицы TestExecution, который использует TestExecutionService.

  • В ответ: присутствует, если установлено при создании
  • В создании: необязательно
  • В обновлении: никогда не устанавливалось

МатрицаИзмерениеОпределение

Этот тип не имеет полей.

Одно измерение матрицы разных прогонов шага.

Спецификация

Подробности о том, как запустить выполнение.

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.
}
Поля

specification поля Union.

specification может быть только одной из следующих:

androidTest

object ( AndroidTest )

Спецификация выполнения мобильных тестов Android.

iosTest

object ( IosTest )

Спецификация выполнения мобильных тестов iOS.

AndroidTest

Спецификация мобильного тестирования Android.

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.
}
Поля
androidAppInfo

object ( AndroidAppInfo )

Информация о тестируемом приложении.

testTimeout

object ( Duration )

Максимальное время, в течение которого тест может быть запущен, прежде чем он будет автоматически отменен.

Полевые test Союза.

test может быть только одним из следующих:

androidInstrumentationTest

object ( AndroidInstrumentationTest )

Инструментальный тест Android.

androidRoboTest

object ( AndroidRoboTest )

Робо-тест Android.

androidTestLoop

object ( AndroidTestLoop )

Тестовый цикл Android.

AndroidAppInfo

Информация о приложении Android.

JSON-представление
{
  "name": string,
  "packageName": string,
  "versionName": string,
  "versionCode": string
}
Поля
name

string

Название приложения. Необязательный

packageName

string

Имя пакета приложения. Необходимый.

versionName

string

Название версии приложения. Необязательный.

versionCode

string

Внутренний код версии приложения. Необязательный.

AndroidИнструментацияТест

Тест приложения Android, которое может управлять компонентом Android независимо от его обычного жизненного цикла.

Дополнительную информацию о типах тестов Android см. на странице https://developer.android.com/training/testing/fundamentals .

JSON-представление
{
  "testPackageId": string,
  "testRunnerClass": string,
  "testTargets": [
    string
  ],
  "useOrchestrator": boolean
}
Поля
testPackageId

string

Пакет Java для выполнения теста. Необходимый

testRunnerClass

string

Класс InstrumentationTestRunner. Необходимый

testTargets[]

string

Каждая цель должна быть полностью уточнена именем пакета или именем класса в одном из следующих форматов: - «имя_пакета_пакета» - «имя_пакета_класса.имя_класса» - «имя_пакета_класса.имя_класса#имя_метода»

Если пусто, будут запущены все цели в модуле.

useOrchestrator

boolean

Флаг указывает, будет ли Android Test Orchestrator использоваться для запуска теста или нет.

AndroidРобоТест

Тест приложения Android, который исследует приложение на виртуальном или физическом устройстве Android, выявляя виновников и сбои по ходу работы.

JSON-представление
{
  "appInitialActivity": string,
  "bootstrapPackageId": string,
  "bootstrapRunnerClass": string,
  "maxDepth": integer,
  "maxSteps": integer
}
Поля
appInitialActivity

string

Начальное действие, которое следует использовать для запуска приложения. Необязательный

bootstrapPackageId

string

Java-пакет для начальной загрузки. Необязательный

bootstrapRunnerClass

string

Класс бегуна для начальной загрузки. Необязательный

maxDepth

integer

Максимальная глубина стека обхода, которую может исследовать Робо. Необязательный

maxSteps

integer

Максимальное количество шагов/действий, которые может выполнить робот. По умолчанию — без ограничений (0). Необязательный

AndroidTestLoop

Этот тип не имеет полей.

Тестовые циклы — это тесты, которые могут запускаться самим приложением и определять, когда запускать, путем прослушивания намерения.

IosTest

Спецификация мобильного теста iOS

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.
}
Поля
iosAppInfo

object ( IosAppInfo )

Информация о тестируемом приложении.

testTimeout

object ( Duration )

Максимальное время, в течение которого тест может быть запущен, прежде чем он будет автоматически отменен.

Полевые test Союза.

test может быть только одним из следующих:

iosXcTest

object ( IosXcTest )

iOS XCTest.

iosTestLoop

object ( IosTestLoop )

Цикл тестирования iOS.

iosRoboTest

object ( IosRoboTest )

Робо-тест iOS.

IosAppInfo

Информация о приложении iOS

JSON-представление
{
  "name": string
}
Поля
name

string

Название приложения. Необходимый

IosXcTest

Тест приложения iOS, использующего платформу XCTest.

JSON-представление
{
  "bundleId": string,
  "xcodeVersion": string
}
Поля
bundleId

string

Идентификатор пакета приложения.

xcodeVersion

string

Версия Xcode, с которой выполнялся тест.

IosTestLoop

Тест игрового цикла приложения iOS.

JSON-представление
{
  "bundleId": string
}
Поля
bundleId

string

Идентификатор пакета приложения.

IosRoboTest

Этот тип не имеет полей.

Робо-тест для приложения iOS.

Методы

create

Создает выполнение.

get

Получает Казнь.

list

Перечисляет казни для данной истории.

patch

Обновляет существующее выполнение с использованием предоставленного частичного объекта.