REST Resource: projects.histories.executions

資源:執行

執行代表步驟的集合。例如,它可以表示: - 在一系列裝置配置上執行的行動測試 - 包含建置步驟和測試步驟的 jenkins 作業

執行訊息的最大大小為 1 MiB。

可以更新執行,直到其狀態設定為完成,此時它變得不可變。

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 一次。如果多次將狀態設為 COMPLETE,將傳回 FAILED_PRECONDITION。

如果狀態設定為 COMPLETE,則執行中所有正在進行的步驟都會設定為 COMPLETE。如果未設定該步驟的結果,則結果將設定為「不確定」。

  • 在響應中總是設置
  • 在建立/更新請求中:可選
creationTime

object ( Timestamp )

建立執行的時間。

該值將在呼叫executions.create 時自動設定。

  • 響應:始終設定
  • 在建立/更新請求中:從不設定
completionTime

object ( Timestamp )

執行狀態轉換為 COMPLETE 的時間。

當狀態轉換為 COMPLETE 時,將自動設定該值。

  • 回應:如果執行狀態為 COMPLETE,則設定。
  • 在建立/更新請求中:從不設定
outcome

object ( Outcome )

將結果分類,例如分為成功或失敗

  • 回應:如果由建立/更新請求設定則存在
  • 在建立/更新請求中:可選
dimensionDefinitions[]

object ( MatrixDimensionDefinition )

此執行中不同步驟的維度可能會有所不同。這必須在執行的整個生命週期中保持固定。

如果在更新請求中設定了此字段,則傳回 INVALID_ARGUMENT。

如果同名出現在多個維度定義中,則傳回 INVALID_ARGUMENT。

如果清單大小超過 100,則傳回 INVALID_ARGUMENT。

  • 回應:如果由 create 設定則存在
  • 在建立請求中:可選
  • 在更新請求中:從未設定
specification

object ( Specification )

有關執行請求的輕量級資訊。

  • 回應:如果由 create 設定則存在
  • 在建立中:可選
  • 更新中:可選
testExecutionMatrixId

string

TestExecutionService 使用的 TestExecution Matrix ID。

  • 回應:如果由 create 設定則存在
  • 在建立中:可選
  • 更新中:從未設定

矩陣維度定義

該類型沒有字段。

一個步驟的不同運行的矩陣的一維。

規格

有關如何運行執行的詳細資訊。

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

specification只能是以下之一:

androidTest

object ( AndroidTest )

Android 行動測試執行規範。

iosTest

object ( IosTest )

iOS 行動測試執行規範。

Android測試

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 測試循環。

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

每個目標都必須使用套件名稱或類別名稱進行完全限定,並採用以下格式之一: - "package packageName" - "class packageName.class_name" - "class packageName.class_name#method_name"

如果為空,則將運行模組中的所有目標。

useOrchestrator

boolean

該標誌指示是否使用 Android Test Orchestrator 來執行測試。

AndroidRobo測試

對 Android 應用程式的測試,在虛擬或實體 Android 裝置上探索該應用程序,在運行過程中尋找罪魁禍首和崩潰情況。

JSON 表示
{
  "appInitialActivity": string,
  "bootstrapPackageId": string,
  "bootstrapRunnerClass": string,
  "maxDepth": integer,
  "maxSteps": integer
}
領域
appInitialActivity

string

應該用於啟動應用程式的初始活動。選修的

bootstrapPackageId

string

引導程式的 java 套件。選修的

bootstrapRunnerClass

string

引導程式的運行程式類別。選修的

maxDepth

integer

Robo 可以探索的遍歷堆疊的最大深度。選修的

maxSteps

integer

Robo 可以執行的最大步驟/操作數。預設為無限制 (0)。選修的

Android測試循環

該類型沒有字段。

測試循環是可以由應用程式本身啟動的測試,透過偵聽意圖來確定何時運行。

IOS測試

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 Robo 測試。

Ios應用程式訊息

iOS 應用程式訊息

JSON 表示
{
  "name": string
}
領域
name

string

應用程式的名稱。必需的

IOSXc測試

使用 XCTest 框架對 iOS 應用程式進行測試。

JSON 表示
{
  "bundleId": string,
  "xcodeVersion": string
}
領域
bundleId

string

應用程式的捆綁 ID。

xcodeVersion

string

運行測試的 Xcode 版本。

IOS測試循環

iOS 應用程式的遊戲循環測試。

JSON 表示
{
  "bundleId": string
}
領域
bundleId

string

應用程式的捆綁 ID。

IosRobo測試

該類型沒有字段。

針對 iOS 應用程式的 Robo 測試。

方法

create

建立一個執行。

get

獲得處決。

list

列出給定歷史記錄的執行情況。

patch

使用提供的部分實體更新現有執行。