REST Resource: projects.histories.executions

Resource: Eksekusi

Eksekusi mewakili kumpulan Langkah. Misalnya, ini bisa merepresentasikan: - pengujian seluler yang dijalankan di berbagai konfigurasi perangkat - tugas jenkins dengan langkah build yang diikuti dengan langkah pengujian

Ukuran maksimum pesan eksekusi adalah 1 MiB.

Eksekusi dapat diupdate sampai statusnya disetel ke SELESAI, yang mana pada saat itu menjadi tidak dapat diubah.

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

string

ID unik dalam Histori untuk Eksekusi ini.

Menampilkan INVALID_ARGUMENT jika kolom ini ditetapkan atau ditimpa oleh pemanggil.

  • Selalu tetapkan respons
  • Dalam permintaan pembuatan/pembaruan: jangan pernah ditetapkan
state

enum (State)

Status awalnya adalah IN_PROGRESS.

Satu-satunya transisi status hukum adalah dari IN_PROGRESS ke SELESAI.

PRECONDITION_FAILED akan ditampilkan jika transisi yang tidak valid diminta.

Status hanya dapat disetel ke SELESAI sekali. FAILED_PRECONDITION akan ditampilkan jika status disetel ke SELESAI beberapa kali.

Jika status disetel ke SELESAI, semua langkah yang sedang berlangsung dalam eksekusi akan disetel sebagai SELESAI. Jika hasil langkah tidak ditetapkan, hasil akan ditetapkan ke TIDAK KONKLUSIF.

  • Selalu tetapkan respons
  • Dalam permintaan pembuatan/pembaruan: opsional
creationTime

object (Timestamp)

Waktu saat Eksekusi dibuat.

Nilai ini akan ditetapkan secara otomatis saat executions.create dipanggil.

  • Sebagai respons: always set
  • Dalam permintaan pembuatan/pembaruan: jangan pernah ditetapkan
completionTime

object (Timestamp)

Waktu ketika status Eksekusi beralih ke SELESAI.

Nilai ini akan diatur secara otomatis ketika status beralih ke SELESAI.

  • Sebagai respons: disetel jika status eksekusi SELESAI.
  • Dalam permintaan pembuatan/pembaruan: jangan pernah ditetapkan
outcome

object (Outcome)

Mengklasifikasikan hasilnya, misalnya SUKSES atau KEGAGALAN

  • Sebagai respons: ada jika ditetapkan oleh permintaan pembuatan/pembaruan
  • Dalam permintaan pembuatan/pembaruan: opsional
dimensionDefinitions[]

object (MatrixDimensionDefinition)

Dimensi yang digunakan untuk berbagai langkah dalam eksekusi ini dapat bervariasi. Hal ini harus tetap diperbaiki selama masa eksekusinya.

Menampilkan INVALID_ARGUMENT jika kolom ini ditetapkan dalam permintaan update.

Menampilkan INVALID_ARGUMENT jika nama yang sama muncul di lebih dari satu dimension_define.

Menampilkan INVALID_ARGUMENT jika ukuran daftar lebih dari 100.

  • Sebagai respons: ada jika ditetapkan oleh buat
  • Dalam permintaan pembuatan: opsional
  • Dalam permintaan pembaruan: jangan pernah ditetapkan
specification

object (Specification)

Informasi ringan tentang permintaan eksekusi.

  • Sebagai respons: ada jika ditetapkan oleh buat
  • Dalam pembuatan: opsional
  • Dalam update: opsional
testExecutionMatrixId

string

ID Matriks TestExecution yang digunakan oleh TestExecutionService.

  • Sebagai respons: ada jika ditetapkan oleh buat
  • Dalam pembuatan: opsional
  • Dalam pembaruan: tidak pernah ditetapkan

MatrixDimensionDefinition

Jenis ini tidak memiliki kolom.

Salah satu dimensi matriks dari berbagai langkah yang berjalan.

Spesifikasi

Detail tentang cara menjalankan eksekusi.

Representasi 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.
}
Kolom

Kolom union specification.

specification hanya dapat berupa salah satu dari yang berikut:

androidTest

object (AndroidTest)

Spesifikasi eksekusi uji seluler Android.

iosTest

object (IosTest)

Spesifikasi eksekusi uji seluler iOS.

AndroidTest

Spesifikasi pengujian seluler Android.

Representasi 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.
}
Kolom
androidAppInfo

object (AndroidAppInfo)

Informasi tentang aplikasi yang sedang diuji.

testTimeout

object (Duration)

Waktu maksimum pengujian boleh berjalan sebelum dibatalkan secara otomatis.

Kolom union test.

test hanya dapat berupa salah satu dari yang berikut:

androidInstrumentationTest

object (AndroidInstrumentationTest)

Uji instrumentasi Android.

androidRoboTest

object (AndroidRoboTest)

Uji robo Android.

androidTestLoop

object (AndroidTestLoop)

Test loop Android.

InfoAplikasiAndroid

Informasi aplikasi Android.

Representasi JSON
{
  "name": string,
  "packageName": string,
  "versionName": string,
  "versionCode": string
}
Kolom
name

string

Nama aplikasi. Opsional

packageName

string

Nama paket aplikasi. Wajib diisi.

versionName

string

Nama versi aplikasi. Opsional.

versionCode

string

Kode versi internal aplikasi. Opsional.

AndroidInstrumentationTest

Pengujian aplikasi Android yang dapat mengendalikan komponen Android secara terpisah dari siklus proses normalnya.

Lihat https://developer.android.com/training/testing/fundamentals untuk mengetahui informasi selengkapnya tentang jenis pengujian Android.

Representasi JSON
{
  "testPackageId": string,
  "testRunnerClass": string,
  "testTargets": [
    string
  ],
  "useOrchestrator": boolean
}
Kolom
testPackageId

string

Paket Java untuk pengujian yang akan dieksekusi. Diperlukan

testRunnerClass

string

Class InstrumentationTestRunner. Diperlukan

testTargets[]

string

Setiap target harus sepenuhnya memenuhi syarat dengan nama paket atau nama class, dalam salah satu format berikut: - "package packageName" - "class packageName.class_name" - "class packageName.class_name#methodName"

Jika kosong, semua target dalam modul akan dijalankan.

useOrchestrator

boolean

Tanda tersebut menunjukkan apakah Android Test Orchestrator akan digunakan untuk menjalankan pengujian atau tidak.

AndroidRoboTest

Pengujian aplikasi Android yang menjelajahi aplikasi di perangkat Android virtual atau fisik, menemukan penyebab dan error saat berjalan.

Representasi JSON
{
  "appInitialActivity": string,
  "bootstrapPackageId": string,
  "bootstrapRunnerClass": string,
  "maxDepth": integer,
  "maxSteps": integer
}
Kolom
appInitialActivity

string

Aktivitas awal yang harus digunakan untuk memulai aplikasi. Opsional

bootstrapPackageId

string

Paket java untuk bootstrap. Opsional

bootstrapRunnerClass

string

Class runner untuk bootstrap. Opsional

maxDepth

integer

Kedalaman maksimum tumpukan traversal yang dapat dieksplorasi Robo. Opsional

maxSteps

integer

Jumlah maksimum langkah/tindakan yang dapat dijalankan Robo. Defaultnya adalah tanpa batas (0). Opsional

AndroidTestLoop

Jenis ini tidak memiliki kolom.

Test Loop adalah pengujian yang dapat diluncurkan oleh aplikasi itu sendiri, menentukan kapan harus dijalankan dengan memproses intent.

Tes Ios

Spesifikasi pengujian seluler iOS

Representasi 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.
}
Kolom
iosAppInfo

object (IosAppInfo)

Informasi tentang aplikasi yang sedang diuji.

testTimeout

object (Duration)

Waktu maksimum pengujian boleh berjalan sebelum dibatalkan secara otomatis.

Kolom union test.

test hanya dapat berupa salah satu dari yang berikut:

iosXcTest

object (IosXcTest)

XCTest iOS.

iosTestLoop

object (IosTestLoop)

Test loop iOS.

iosRoboTest

object (IosRoboTest)

Uji Robo iOS.

InfoAplikasiIos

Informasi aplikasi iOS

Representasi JSON
{
  "name": string
}
Kolom
name

string

Nama aplikasi. Wajib diisi

IosXcTest

Pengujian aplikasi iOS yang menggunakan framework XCTest.

Representasi JSON
{
  "bundleId": string,
  "xcodeVersion": string
}
Kolom
bundleId

string

ID paket aplikasi.

xcodeVersion

string

Versi Xcode yang digunakan untuk menjalankan pengujian.

IosTestLoop

Pengujian game loop aplikasi iOS.

Representasi JSON
{
  "bundleId": string
}
Kolom
bundleId

string

ID paket aplikasi.

Tes IosRobo

Jenis ini tidak memiliki kolom.

Uji Robo untuk aplikasi iOS.

Metode

create

Membuat Eksekusi.

get

Mendapatkan Eksekusi.

list

Mencantumkan Eksekusi untuk Histori tertentu.

patch

Memperbarui Eksekusi yang ada dengan entity parsial yang disediakan.