REST Resource: projects.histories.executions

Tài nguyên: Thực thi

Một Thực thi đại diện cho một tập hợp các Bước. Ví dụ: nó có thể đại diện cho: - một thử nghiệm di động được thực hiện trên nhiều cấu hình thiết bị - một công việc của jenkins với bước xây dựng, sau đó là bước thử nghiệm

Kích thước tối đa của một thông báo thực thi là 1 MiB.

Một Thực thi có thể được cập nhật cho đến khi trạng thái của nó được đặt thành HOÀN THÀNH tại thời điểm đó nó trở thành bất biến.

Biểu diễn JSON
{
  "executionId": string,
  "state": enum (State),
  "creationTime": {
    object (Timestamp)
  },
  "completionTime": {
    object (Timestamp)
  },
  "outcome": {
    object (Outcome)
  },
  "dimensionDefinitions": [
    {
      object (MatrixDimensionDefinition)
    }
  ],
  "specification": {
    object (Specification)
  },
  "testExecutionMatrixId": string
}
Lĩnh vực
executionId

string

Mã định danh duy nhất trong Lịch sử cho lần Thực thi này.

Trả về INVALID_ARGUMENT nếu trường này được người gọi đặt hoặc ghi đè.

  • Đáp lại luôn được thiết lập
  • Trong yêu cầu tạo/cập nhật: không bao giờ đặt
state

enum ( State )

Trạng thái ban đầu là IN_PROGRESS.

Chuyển đổi trạng thái hợp pháp duy nhất là từ IN_PROGRESS sang COMPLETE.

PRECONDITION_FAILED sẽ được trả về nếu yêu cầu chuyển đổi không hợp lệ.

Trạng thái chỉ có thể được đặt thành HOÀN THÀNH một lần. FAILED_PRECONDITION sẽ được trả về nếu trạng thái được đặt thành HOÀN THÀNH nhiều lần.

Nếu trạng thái được đặt thành HOÀN THÀNH, tất cả các bước đang thực hiện trong quá trình thực thi sẽ được đặt là HOÀN THÀNH. Nếu kết quả của bước này không được đặt thì kết quả sẽ được đặt thành KHÔNG KẾT LUẬN.

  • Đáp lại luôn được thiết lập
  • Trong yêu cầu tạo/cập nhật: tùy chọn
creationTime

object ( Timestamp )

Thời điểm thực thi được tạo ra.

Giá trị này sẽ được đặt tự động khi thực thi.create được gọi.

  • Đáp lại: luôn đặt
  • Trong yêu cầu tạo/cập nhật: không bao giờ đặt
completionTime

object ( Timestamp )

Thời điểm trạng thái Thực thi chuyển sang HOÀN THÀNH.

Giá trị này sẽ được đặt tự động khi trạng thái chuyển sang HOÀN THÀNH.

  • Phản hồi: được đặt nếu trạng thái thực thi là HOÀN THÀNH.
  • Trong yêu cầu tạo/cập nhật: không bao giờ đặt
outcome

object ( Outcome )

Phân loại kết quả, ví dụ thành THÀNH CÔNG hoặc THẤT BẠI

  • Phản hồi: hiện diện nếu được đặt theo yêu cầu tạo/cập nhật
  • Trong yêu cầu tạo/cập nhật: tùy chọn
dimensionDefinitions[]

object ( MatrixDimensionDefinition )

Các kích thước mà các bước khác nhau trong quá trình thực hiện này có thể khác nhau. Điều này phải được cố định trong suốt thời gian thực hiện.

Trả về INVALID_ARGUMENT nếu trường này được đặt trong yêu cầu cập nhật.

Trả về INVALID_ARGUMENT nếu tên giống nhau xuất hiện trong nhiều chiều_định nghĩa.

Trả về INVALID_ARGUMENT nếu kích thước của danh sách lớn hơn 100.

  • Đáp lại: hiện tại nếu được đặt bởi tạo
  • Trong yêu cầu tạo: tùy chọn
  • Trong yêu cầu cập nhật: chưa bao giờ đặt
specification

object ( Specification )

Thông tin nhẹ về yêu cầu thực hiện.

  • Đáp lại: hiện tại nếu được đặt bởi tạo
  • Trong phần tạo: tùy chọn
  • Đang cập nhật: tùy chọn
testExecutionMatrixId

string

ID ma trận TestExecution mà TestExecutionService sử dụng.

  • Đáp lại: hiện tại nếu được đặt bởi tạo
  • Trong phần tạo: tùy chọn
  • Đang cập nhật: chưa bao giờ thiết lập

Ma trậnKích thướcĐịnh nghĩa

Loại này không có trường.

Một chiều của ma trận gồm các lần chạy khác nhau của một bước.

Sự chỉ rõ

Các chi tiết về cách chạy thực thi.

Biểu diễn 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.
}
Lĩnh vực

specification trường liên minh.

specification chỉ có thể là một trong những điều sau đây:

androidTest

object ( AndroidTest )

Đặc tả thực hiện thử nghiệm trên thiết bị di động Android.

iosTest

object ( IosTest )

Đặc tả thực hiện thử nghiệm trên thiết bị di động iOS.

Kiểm tra Android

Một đặc tả thử nghiệm di động Android.

Biểu diễn 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.
}
Lĩnh vực
androidAppInfo

object ( AndroidAppInfo )

Thông tin về ứng dụng đang được thử nghiệm.

testTimeout

object ( Duration )

Thời gian tối đa một bài kiểm tra được phép chạy trước khi nó tự động bị hủy.

Liên minh lĩnh vực test .

test chỉ có thể là một trong những điều sau đây:

androidInstrumentationTest

object ( AndroidInstrumentationTest )

Một thử nghiệm thiết bị Android.

androidRoboTest

object ( AndroidRoboTest )

Một thử nghiệm robot Android.

androidTestLoop

object ( AndroidTestLoop )

Vòng lặp thử nghiệm Android.

Thông tin ứng dụng Android

Thông tin ứng dụng Android.

Biểu diễn JSON
{
  "name": string,
  "packageName": string,
  "versionName": string,
  "versionCode": string
}
Lĩnh vực
name

string

Tên của ứng dụng. Không bắt buộc

packageName

string

Tên gói của ứng dụng. Yêu cầu.

versionName

string

Tên phiên bản của ứng dụng. Không bắt buộc.

versionCode

string

Mã phiên bản nội bộ của ứng dụng. Không bắt buộc.

AndroidThiết bị kiểm tra

Thử nghiệm một ứng dụng Android có thể điều khiển một thành phần Android độc lập với vòng đời thông thường của nó.

Xem https://developer.android.com/training/testing/fundamentals để biết thêm thông tin về các loại thử nghiệm Android.

Biểu diễn JSON
{
  "testPackageId": string,
  "testRunnerClass": string,
  "testTargets": [
    string
  ],
  "useOrchestrator": boolean
}
Lĩnh vực
testPackageId

string

Gói java để thực thi bài kiểm tra. Yêu cầu

testRunnerClass

string

Lớp InstrumentationTestRunner. Yêu cầu

testTargets[]

string

Mỗi mục tiêu phải đủ điều kiện với tên gói hoặc tên lớp, theo một trong các định dạng sau: - "package packageName" - "class packageName.class_name" - "class packageName.class_name#method_name"

Nếu trống, tất cả mục tiêu trong mô-đun sẽ được chạy.

useOrchestrator

boolean

Cờ cho biết liệu Android Test Orchestrator có được sử dụng để chạy thử nghiệm hay không.

AndroidRoboThử nghiệm

Thử nghiệm ứng dụng Android nhằm khám phá ứng dụng trên thiết bị Android ảo hoặc vật lý, tìm ra thủ phạm và gặp sự cố khi ứng dụng đó hoạt động.

Biểu diễn JSON
{
  "appInitialActivity": string,
  "bootstrapPackageId": string,
  "bootstrapRunnerClass": string,
  "maxDepth": integer,
  "maxSteps": integer
}
Lĩnh vực
appInitialActivity

string

Hoạt động ban đầu sẽ được sử dụng để khởi động ứng dụng. Không bắt buộc

bootstrapPackageId

string

Gói java cho bootstrap. Không bắt buộc

bootstrapRunnerClass

string

Lớp Á hậu cho bootstrap. Không bắt buộc

maxDepth

integer

Độ sâu tối đa của ngăn xếp truyền tải mà Robo có thể khám phá. Không bắt buộc

maxSteps

integer

Số bước/hành động tối đa mà Robo có thể thực hiện. Mặc định là không có giới hạn (0). Không bắt buộc

AndroidTestLoop

Loại này không có trường.

Vòng lặp kiểm tra là các thử nghiệm mà chính ứng dụng có thể khởi chạy, xác định thời điểm chạy bằng cách lắng nghe ý định.

Kiểm tra iOS

Đặc tả thử nghiệm di động iOS

Biểu diễn 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.
}
Lĩnh vực
iosAppInfo

object ( IosAppInfo )

Thông tin về ứng dụng đang được thử nghiệm.

testTimeout

object ( Duration )

Thời gian tối đa một bài kiểm tra được phép chạy trước khi nó tự động bị hủy.

Liên minh lĩnh vực test .

test chỉ có thể là một trong những điều sau đây:

iosXcTest

object ( IosXcTest )

Một thử nghiệm XCTest của iOS.

iosTestLoop

object ( IosTestLoop )

Vòng lặp thử nghiệm iOS.

iosRoboTest

object ( IosRoboTest )

Thử nghiệm Robo của iOS.

Thông tin ứng dụng iOS

Thông tin ứng dụng iOS

Biểu diễn JSON
{
  "name": string
}
Lĩnh vực
name

string

Tên của ứng dụng. Yêu cầu

Kiểm tra iOSXc

Thử nghiệm ứng dụng iOS sử dụng khung XCTest.

Biểu diễn JSON
{
  "bundleId": string,
  "xcodeVersion": string
}
Lĩnh vực
bundleId

string

ID gói của ứng dụng.

xcodeVersion

string

Phiên bản Xcode mà thử nghiệm đã được chạy.

IosTestLoop

Thử nghiệm vòng lặp trò chơi của một ứng dụng iOS.

Biểu diễn JSON
{
  "bundleId": string
}
Lĩnh vực
bundleId

string

ID gói của ứng dụng.

IosRoboThử nghiệm

Loại này không có trường.

Thử nghiệm Robo cho ứng dụng iOS.

phương pháp

create

Tạo một Thực thi.

get

Nhận được một sự thực thi.

list

Liệt kê các lần thực thi cho một Lịch sử nhất định.

patch

Cập nhật một Thực thi hiện có với thực thể một phần được cung cấp.