REST Resource: projects.histories.executions.steps

Resource: Langkah

Langkah mewakili satu operasi yang dilakukan sebagai bagian dari Eksekusi. Sebuah langkah dapat digunakan untuk mewakili eksekusi alat ( misalnya eksekusi test runner atau eksekusi compiler).

Langkah dapat tumpang tindih (misalnya, dua langkah mungkin memiliki waktu mulai yang sama jika beberapa operasi dilakukan secara paralel).

Berikut ini contohnya, anggap saja kita memiliki build berkelanjutan yang mengeksekusi runner pengujian untuk setiap iterasi. Alur kerja akan terlihat seperti: - pengguna membuat Eksekusi dengan id 1 - pengguna membuat TestExecutionStep dengan id 100 untuk Eksekusi 1 - pembaruan pengguna TestExecutionStep dengan id 100 untuk menambahkan log xml mentah + layanan mengurai log xml dan mengembalikan TestExecutionStep dengan TestResult yang diperbarui. - pengguna memperbarui status TestExecutionStep dengan id 100 menjadi SELESAI

Langkah dapat diperbarui sampai statusnya disetel ke SELESAI pada titik-titik tersebut menjadi tidak dapat diubah.

Representasi JSON
{
  "stepId": string,
  "creationTime": {
    object (Timestamp)
  },
  "completionTime": {
    object (Timestamp)
  },
  "name": string,
  "description": string,
  "state": enum (State),
  "outcome": {
    object (Outcome)
  },
  "hasImages": boolean,
  "labels": {
    string: string,
    ...
  },
  "dimensionValue": {
    string: string,
    ...
  },
  "runDuration": {
    object (Duration)
  },
  "deviceUsageDuration": {
    object (Duration)
  },
  "multiStep": {
    object (MultiStep)
  },

  // Union field step can be only one of the following:
  "testExecutionStep": {
    object (TestExecutionStep)
  },
  "toolExecutionStep": {
    object (ToolExecutionStep)
  }
  // End of list of possible types for union field step.
}
Kolom
stepId

string

ID unik dalam Eksekusi untuk Langkah ini.

Menampilkan INVALID_ARGUMENT jika kolom ini ditetapkan atau ditimpa oleh pemanggil.

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

object (Timestamp)

Waktu langkah dibuat.

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

object (Timestamp)

Waktu ketika status langkah ditetapkan 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
name

string

Nama pendek yang dapat dibaca manusia untuk ditampilkan di UI. Maksimum 100 karakter. Misalnya: Membersihkan build

PRECONDITION_FAILED akan ditampilkan setelah membuat langkah baru jika langkah tersebut menggunakan nama dan dimensionValue yang sama dengan langkah yang sudah ada. Jika dua langkah merepresentasikan tindakan yang serupa, tetapi memiliki nilai dimensi yang berbeda, keduanya harus memiliki nama yang sama. Misalnya, jika kumpulan pengujian yang sama dijalankan pada dua platform yang berbeda, kedua langkah tersebut harus memiliki nama yang sama.

  • Sebagai respons: always set
  • Dalam permintaan pembuatan: selalu tetapkan
  • Dalam permintaan pembaruan: jangan pernah ditetapkan
description

string

Deskripsi tentang alat ini Misalnya: mvn clean package -D skipTests=true

  • Sebagai respons: ada jika ditetapkan oleh permintaan pembuatan/pembaruan
  • Dalam permintaan pembuatan/pembaruan: opsional
state

enum (State)

Status awalnya adalah IN_PROGRESS. Satu-satunya transisi status hukum adalah * IN_PROGRESS -> SELESAI

PRECONDITION_FAILED akan ditampilkan jika transisi yang tidak valid diminta.

Membuat Langkah dengan status disetel ke SELESAI adalah hal yang valid. Status hanya dapat disetel ke SELESAI sekali. PRECONDITION_FAILED akan ditampilkan jika status disetel ke SELESAI beberapa kali.

  • Sebagai respons: always set
  • Dalam permintaan pembuatan/pembaruan: opsional
outcome

object (Outcome)

Klasifikasi hasil, misalnya menjadi SUKSES atau KEGAGALAN

  • Sebagai respons: ada jika ditetapkan oleh permintaan pembuatan/pembaruan
  • Dalam permintaan pembuatan/pembaruan: opsional
hasImages

boolean

Apakah salah satu output dari langkah ini adalah gambar yang thumbnail-nya dapat diambil dengan thumbnail.list.

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

map (key: string, value: string)

Key-value pair yang disediakan pengguna secara arbitrer yang dikaitkan dengan langkah tersebut.

Pengguna bertanggung jawab mengelola namespace kunci sehingga kunci tidak bertabrakan secara tidak sengaja.

INVALID_spek akan ditampilkan jika jumlah label melebihi 100 atau jika panjang kunci atau nilai melebihi 100 karakter.

  • Sebagai respons: always set
  • Dalam permintaan pembuatan: opsional
  • Dalam permintaan update: opsional; pasangan kunci/nilai baru akan ditambahkan ke peta, dan nilai baru untuk kunci yang ada akan memperbarui nilai kunci tersebut

Objek yang berisi daftar pasangan "key": value. Contoh: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

dimensionValue

map (key: string, value: string)

Jika eksekusi yang berisi langkah ini memiliki set dimension_definisi, maka kolom ini memungkinkan turunan untuk menentukan nilai dimensi.

Kunci tersebut harus sama persis dengan dimension_Definition dari eksekusi.

Sebagai contoh, jika eksekusi memiliki dimension_definition = ['attempt', 'device'], sebuah langkah harus menentukan nilai untuk dimensi tersebut, misalnya dimensionValue = ['attempt': '1', 'device': 'Nexus 6']

Jika sebuah langkah tidak berpartisipasi dalam satu dimensi matriks, nilai untuk dimensi tersebut harus berupa string kosong. Misalnya, jika salah satu pengujian dijalankan oleh runner yang tidak mendukung percobaan ulang, langkah tersebut dapat memiliki dimensionValue = ['attempt': '', 'device': 'Nexus 6']

Jika langkah ini tidak berpartisipasi dalam dimensi matriks apa pun, dimensiValue tidak dapat disetel.

PRECONDITION_FAILED akan ditampilkan jika salah satu kunci tidak ada dalam dimension_definisi eksekusi.

PRECONDITION_FAILED akan ditampilkan jika langkah lain dalam eksekusi ini sudah memiliki nama dan dimensionValue yang sama, tetapi berbeda di kolom data lainnya, misalnya, kolom langkah berbeda.

PRECONDITION_FAILED akan ditampilkan jika dimensionValue ditetapkan, dan ada dimension_definisi dalam eksekusi yang tidak ditetapkan sebagai salah satu kunci.

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

Objek yang berisi daftar pasangan "key": value. Contoh: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

runDuration

object (Duration)

Waktu yang dibutuhkan untuk menjalankan langkah ini.

Jika tidak disetel, nilai ini disetel ke perbedaan antara creationTime dan completionTime saat langkah disetel ke status SELESAI. Dalam beberapa kasus, nilai ini perlu disetel secara terpisah: Misalnya, jika sebuah langkah dibuat, tetapi operasi yang diwakilinya akan diantrekan selama beberapa menit sebelum dijalankan, sebaiknya jangan sertakan waktu yang diantrekan dalam runDuration-nya.

PREcondition_FAILED akan ditampilkan jika ada upaya untuk menetapkan runDuration pada langkah yang telah menetapkan kolom ini.

  • Sebagai respons: ada jika telah ditetapkan sebelumnya; selalu ada pada langkah SELESAI
  • Dalam permintaan pembuatan: opsional
  • Permintaan update: opsional
deviceUsageDuration

object (Duration)

Jumlah resource perangkat yang digunakan untuk melakukan pengujian.

Ini adalah penggunaan perangkat yang digunakan untuk tujuan penagihan, yang berbeda dengan runDuration, misalnya, kegagalan infrastruktur tidak akan dikenai biaya untuk penggunaan perangkat.

PREcondition_FAILED akan ditampilkan jika ada upaya untuk menetapkan device_usage pada langkah yang sudah menetapkan kolom ini.

  • Sebagai respons: ada jika ditetapkan sebelumnya.
  • Dalam permintaan pembuatan: opsional
  • Permintaan update: opsional
multiStep

object (MultiStep)

Detail saat beberapa langkah dijalankan dengan konfigurasi yang sama seperti grup. Detail ini dapat digunakan untuk mengidentifikasi grup tempat langkah ini berada. Tabel pivot juga mengidentifikasi 'langkah utama' grup yang mengindeks semua anggota grup.

  • Sebagai respons: ada jika ditetapkan sebelumnya.
  • Dalam permintaan pembuatan: opsional, setel jika langkah ini dilakukan lebih dari sekali.
  • Permintaan update: opsional

Kolom union step.

step hanya dapat berupa salah satu dari yang berikut:

testExecutionStep

object (TestExecutionStep)

Eksekusi runner pengujian.

toolExecutionStep

object (ToolExecutionStep)

Eksekusi alat (digunakan untuk langkah-langkah yang tidak kami dukung secara eksplisit).

LangkahTestExecution

Langkah yang mewakili menjalankan pengujian.

Fungsi ini menerima file xml ant-junit yang akan diurai menjadi hasil pengujian terstruktur oleh layanan. Jalur file XML diperbarui untuk menambahkan lebih banyak file, tetapi tidak dapat dihapus.

Pengguna juga dapat menambahkan hasil pengujian secara manual menggunakan kolom test_result.

Representasi JSON
{
  "testSuiteOverviews": [
    {
      object (TestSuiteOverview)
    }
  ],
  "toolExecution": {
    object (ToolExecution)
  },
  "testIssues": [
    {
      object (TestIssue)
    }
  ],
  "testTiming": {
    object (TestTiming)
  }
}
Kolom
testSuiteOverviews[]

object (TestSuiteOverview)

Daftar konten ringkasan rangkaian pengujian. Hal ini dapat diuraikan dari log XML xUnit oleh server, atau diupload langsung oleh pengguna. Referensi ini hanya boleh dipanggil saat rangkaian pengujian telah diuraikan atau diupload sepenuhnya.

Jumlah maksimum ringkasan rangkaian pengujian yang diizinkan per langkah adalah 1.000.

  • Sebagai respons: always set
  • Dalam permintaan pembuatan: opsional
  • Dalam permintaan pembaruan: tidak pernah (sebagai gantinya, gunakan metode kustom publishXunitXmlFiles)
toolExecution

object (ToolExecution)

Merepresentasikan eksekusi runner pengujian.

Kode keluar alat ini akan digunakan untuk menentukan apakah pengujian lulus.

  • Sebagai respons: always set
  • Dalam permintaan pembuatan/pembaruan: opsional
testIssues[]

object (TestIssue)

Masalah yang diamati selama pelaksanaan uji.

Misalnya, jika aplikasi seluler yang sedang diuji mengalami error selama pengujian, pesan error dan konten pelacakan tumpukan dapat dicatat di sini untuk membantu proses debug.

  • Sebagai respons: ada jika ditetapkan oleh pembuatan atau update
  • Dalam permintaan pembuatan/pembaruan: opsional
testTiming

object (TestTiming)

Perincian waktu eksekusi uji.

  • Sebagai respons: ada jika ditetapkan oleh pembuatan atau update
  • Dalam permintaan pembuatan/pembaruan: opsional

Eksekusi Alat

Eksekusi alat arbitrer. Resource ini dapat berupa runner pengujian atau alat yang menyalin artefak atau men-deploy kode.

Representasi JSON
{
  "commandLineArguments": [
    string
  ],
  "toolLogs": [
    {
      object (FileReference)
    }
  ],
  "exitCode": {
    object (ToolExitCode)
  },
  "toolOutputs": [
    {
      object (ToolOutputReference)
    }
  ]
}
Kolom
commandLineArguments[]

string

Command line yang ditokenkan lengkap, termasuk nama program (setara dengan argv dalam program C).

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

object (FileReference)

Rujukan ke log teks biasa akan menghasilkan eksekusi alat.

Kolom ini dapat disetel sebelum alat ditutup agar dapat mengakses tampilan live log saat alat sedang berjalan.

Jumlah maksimum log alat yang diizinkan per langkah adalah 1.000.

  • Sebagai respons: ada jika ditetapkan oleh permintaan pembuatan/pembaruan
  • Dalam permintaan pembuatan: opsional
  • Dalam permintaan pembaruan: opsional, nilai apa pun yang diberikan akan ditambahkan ke daftar yang ada
exitCode

object (ToolExitCode)

Kode keluar eksekusi alat. Kolom ini akan ditetapkan setelah fitur ditutup.

  • Sebagai respons: ada jika ditetapkan oleh permintaan pembuatan/pembaruan
  • Dalam permintaan pembuatan: opsional
  • Dalam permintaan pembaruan: opsional, error FAILED_PRECONDITION akan ditampilkan jika exitCode sudah ditetapkan.
toolOutputs[]

object (ToolOutputReference)

Rujukan ke file buram dari output format apa pun oleh eksekusi alat.

Jumlah maksimum output alat yang diizinkan per langkah adalah 1.000.

  • Sebagai respons: ada jika ditetapkan oleh permintaan pembuatan/pembaruan
  • Dalam permintaan pembuatan: opsional
  • Dalam permintaan pembaruan: opsional, nilai apa pun yang diberikan akan ditambahkan ke daftar yang ada

ToolExitCode

Kode keluar dari eksekusi fitur.

Representasi JSON
{
  "number": integer
}
Kolom
number

integer

Kode keluar eksekusi alat. Nilai 0 berarti eksekusi berhasil.

  • Sebagai respons: always set
  • Dalam permintaan buat/pembaruan: selalu tetapkan

Masalah Tes

Masalah yang terdeteksi terjadi selama eksekusi uji.

Representasi JSON
{
  "errorMessage": string,
  "stackTrace": {
    object (StackTrace)
  },
  "warning": {
    object (Any)
  },
  "severity": enum (Severity),
  "type": enum (Type),
  "category": enum (Category)
}
Kolom
errorMessage

string

Pesan singkat yang dapat dibaca manusia yang menjelaskan masalah. Wajib diisi.

stackTrace
(deprecated)

object (StackTrace)

Tidak digunakan lagi dan digantikan oleh kolom stack trace di dalam peringatan tertentu.

warning

object (Any)

Pesan peringatan dengan detail tambahan masalah. Harus selalu berupa pesan dari com.google.devtools.toolresults.v1.warnings

severity

enum (Severity)

Tingkat keparahan masalah. Wajib diisi.

type

enum (Type)

Jenis masalah. Wajib diisi.

category

enum (Category)

Kategori masalah. Wajib diisi.

Semua

Any berisi pesan buffering protokol serial arbitrer beserta URL yang menjelaskan jenis pesan yang diserialisasi.

Library Protobuf memberikan dukungan untuk memaketkan/membongkar nilai apa pun dalam bentuk fungsi utilitas atau metode tambahan yang dihasilkan dari jenis Apa pun.

Contoh 1: Mengemas dan mengekstrak pesan di C++.

Foo foo = ...;
Any any;
any.PackFrom(foo);
...
if (any.UnpackTo(&foo)) {
  ...
}

Contoh 2: Mengemas dan mengekstrak pesan di Java.

Foo foo = ...;
Any any = Any.pack(foo);
...
if (any.is(Foo.class)) {
  foo = any.unpack(Foo.class);
}

Contoh 3: Mengemas dan mengekstrak pesan dengan Python.

foo = Foo(...)
any = Any()
any.Pack(foo)
...
if any.Is(Foo.DESCRIPTOR):
  any.Unpack(foo)
  ...

Contoh 4: Mengemas dan mengekstrak pesan di Go

 foo := &pb.Foo{...}
 any, err := ptypes.MarshalAny(foo)
 ...
 foo := &pb.Foo{}
 if err := ptypes.UnmarshalAny(any, foo); err != nil {
   ...
 }

Metode paket yang disediakan oleh library protobuf secara default akan menggunakan 'type.googleapis.com/full.type.name' karena URL jenis dan metode ekstrak hanya menggunakan nama jenis yang sepenuhnya memenuhi syarat setelah karakter '/' di URL jenis, misalnya "foo.bar.com/x/y.z" akan menghasilkan nama jenis "y.z".

JSON

Representasi JSON dari nilai Any menggunakan representasi reguler dari pesan tersemat yang dideserialisasi, dengan kolom tambahan @type yang berisi URL jenis. Contoh:

package google.profile;
message Person {
  string first_name = 1;
  string last_name = 2;
}

{
  "@type": "type.googleapis.com/google.profile.Person",
  "firstName": <string>,
  "lastName": <string>
}

Jika jenis pesan yang disematkan sudah dikenal dan memiliki representasi JSON kustom, representasi tersebut akan disematkan dengan menambahkan kolom value yang menyimpan JSON kustom selain kolom @type. Contoh (untuk pesan google.protobuf.Duration):

{
  "@type": "type.googleapis.com/google.protobuf.Duration",
  "value": "1.212s"
}
Representasi JSON
{
  "typeUrl": string,
  "value": string
}
Kolom
typeUrl

string

Nama URL/resource yang mengidentifikasi jenis pesan buffering protokol serial secara unik. String ini harus berisi setidaknya satu "/" karakter. Segmen terakhir jalur URL harus mewakili nama jenis yang sepenuhnya memenuhi syarat (seperti di path/google.protobuf.Duration). Nama harus dalam bentuk kanonis (misalnya, awalan "." tidak diterima).

Dalam praktiknya, tim biasanya mengompilasi semua jenis yang mereka harapkan untuk digunakan dalam konteks Any. Namun, untuk URL yang menggunakan skema http, https, atau tidak ada skema, Anda dapat secara opsional menyiapkan server jenis yang memetakan URL jenis ke definisi pesan sebagai berikut:

  • Jika tidak ada skema yang diberikan, https akan diasumsikan.
  • GET HTTP pada URL harus menghasilkan nilai google.protobuf.Type dalam format biner, atau akan menghasilkan error.
  • Aplikasi diizinkan untuk meng-cache hasil pencarian berdasarkan URL, atau memintanya untuk dikompilasi sebelumnya ke dalam biner untuk menghindari pencarian apa pun. Oleh karena itu, kompatibilitas biner harus dipertahankan saat terjadi perubahan jenis. (Gunakan nama jenis berversi untuk mengelola perubahan yang dapat menyebabkan gangguan.)

Catatan: fungsi ini saat ini tidak tersedia dalam rilis protobuf resmi, dan tidak digunakan untuk URL jenis yang dimulai dengan type.googleapis.com.

Skema selain http, https (atau skema kosong) dapat digunakan dengan semantik khusus implementasi.

value

string (bytes format)

Harus berupa buffering protokol serial yang valid dari jenis yang ditentukan di atas.

String berenkode base64.

Keparahan

Tingkat keparahan masalah.

Enum
unspecifiedSeverity Tingkat keparahan default yang tidak ditentukan. Jangan gunakan. Hanya untuk pembuatan versi.
info Masalah non-kritis, yang memberikan beberapa info kepada pengguna tentang pengujian yang dijalankan.
suggestion Masalah non-kritis, yang memberikan beberapa petunjuk kepada pengguna untuk meningkatkan pengalaman pengujian, misalnya, menyarankan untuk menggunakan Game Loop.
warning Masalah yang berpotensi kritis.
severe Masalah kritis.

Jenis

Jenis masalah.

Enum
unspecifiedType Jenis default tidak ditentukan. Jangan gunakan. Hanya untuk pembuatan versi.
fatalException Masalah merupakan pengecualian fatal.
nativeCrash Masalahnya adalah masalah pada native code.
anr Masalahnya adalah error ANR.
unusedRoboDirective Masalah adalah perintah robo yang tidak digunakan.
compatibleWithOrchestrator Masalah adalah saran untuk menggunakan orkestrator.
launcherActivityNotFound Masalah terkait menemukan aktivitas peluncur
startActivityNotFound Masalah terkait menyelesaikan intent yang diberikan pengguna untuk memulai aktivitas
incompleteRoboScriptExecution Skrip Robo tidak dijalankan sepenuhnya.
completeRoboScriptExecution Skrip Robo sepenuhnya dan berhasil dieksekusi.
failedToInstall APK gagal diinstal.
nonSdkApiUsageViolation Aplikasi mengakses API non-sdk.
nonSdkApiUsageReport Aplikasi mengakses API non-sdk (laporan mendetail baru)
encounteredNonAndroidUiWidgetScreen Crawl Robo menemukan setidaknya satu layar dengan elemen yang bukan widget UI Android.
encounteredLoginScreen Crawl Robo menemukan setidaknya satu kemungkinan layar login.
performedGoogleLogin Robo login dengan Google.
iosException Aplikasi iOS mengalami error dengan pengecualian.
iosCrash Aplikasi iOS mengalami error tanpa pengecualian (mis. dihentikan).
performedMonkeyActions Crawl Robo melibatkan melakukan beberapa tindakan monyet.
usedRoboDirective Crawl Robo menggunakan perintah Robo.
usedRoboIgnoreDirective Crawl Robo menggunakan perintah Robo untuk mengabaikan elemen UI.
insufficientCoverage Robo tidak meng-crawl beberapa bagian aplikasi yang mungkin penting.
inAppPurchases Crawl Robo mencakup beberapa pembelian dalam aplikasi.
crashDialogError Dialog error terdeteksi selama eksekusi uji
uiElementsTooDeep Kedalaman elemen UI lebih besar dari nilai minimum
blankScreen Layar kosong ditemukan di crawl Robo
overlappingUiElements Elemen UI yang tumpang-tindih ditemukan di crawl Robo
unityException Pengecualian Unity yang tidak tertangkap terdeteksi (ini tidak membuat aplikasi error).
deviceOutOfMemory Perangkat kehabisan memori terdeteksi
logcatCollectionError Masalah terdeteksi saat mengumpulkan logcat
detectedAppSplashScreen Robo mendeteksi layar pembuka yang disediakan oleh aplikasi (vs. layar pembuka Android OS).
assetIssue Ada masalah dengan aset dalam pengujian ini.

Kategori

Kategori masalah.

Enum
unspecifiedCategory Kategori default tidak ditentukan. Jangan gunakan. Hanya untuk pembuatan versi.
common Masalah tidak spesifik untuk jenis pengujian tertentu (misalnya, masalah pada native code).
robo Masalah ini khusus untuk operasi Robo.

WaktuPengujian

Waktu pengujian diuraikan untuk mengetahui beberapa fase.

Representasi JSON
{
  "testProcessDuration": {
    object (Duration)
  }
}
Kolom
testProcessDuration

object (Duration)

Waktu yang diperlukan untuk menjalankan proses pengujian.

  • Sebagai respons: ada jika ditetapkan sebelumnya.
  • Dalam permintaan pembuatan/pembaruan: opsional

Langkah Eksekusi Alat

Langkah alat umum yang akan digunakan untuk biner yang tidak kami dukung secara eksplisit. Misalnya: menjalankan cp untuk menyalin artefak dari satu lokasi ke lokasi lain.

Representasi JSON
{
  "toolExecution": {
    object (ToolExecution)
  }
}
Kolom
toolExecution

object (ToolExecution)

Eksekusi Alat.

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

Multi-Langkah

Detail saat beberapa langkah dijalankan dengan konfigurasi yang sama seperti grup.

Representasi JSON
{
  "primaryStepId": string,
  "multistepNumber": integer,
  "primaryStep": {
    object (PrimaryStep)
  }
}
Kolom
primaryStepId

string

ID langkah dari langkah utama (asli), yang mungkin merupakan langkah ini.

multistepNumber

integer

Int unik yang diberikan untuk setiap langkah. Rentang dari 0(inklusif) hingga jumlah total langkah(eksklusif). Langkah utamanya adalah 0.

primaryStep

object (PrimaryStep)

Tampilkan jika ini adalah langkah utama (asli).

Langkah Primer

Menyimpan status pengujian penggabungan dari beberapa langkah yang dijalankan sebagai grup dan hasil dari setiap langkah.

Representasi JSON
{
  "rollUp": enum (OutcomeSummary),
  "individualOutcome": [
    {
      object (IndividualOutcome)
    }
  ]
}
Kolom
rollUp

enum (OutcomeSummary)

Status pengujian gabungan beberapa langkah yang dijalankan dengan konfigurasi yang sama dengan grup.

individualOutcome[]

object (IndividualOutcome)

ID langkah dan hasil dari setiap langkah.

Hasil Individual

ID langkah dan hasil dari setiap langkah individual yang dijalankan sebagai grup dengan langkah lain dengan konfigurasi yang sama.

Representasi JSON
{
  "stepId": string,
  "outcomeSummary": enum (OutcomeSummary),
  "multistepNumber": integer,
  "runDuration": {
    object (Duration)
  }
}
Kolom
stepId

string

outcomeSummary

enum (OutcomeSummary)

multistepNumber

integer

Int unik yang diberikan untuk setiap langkah. Rentang dari 0(inklusif) hingga jumlah total langkah(eksklusif). Langkah utamanya adalah 0.

runDuration

object (Duration)

Waktu yang dibutuhkan untuk menjalankan langkah ini.

Metode

accessibilityClusters

Mencantumkan cluster aksesibilitas untuk Langkah tertentu

Dapat menampilkan salah satu kode error kanonis berikut:

  • PERMISSION_DENIED - jika pengguna tidak berwenang untuk membaca project
  • INVALID_ARGUMENT - jika permintaan salah format
  • FAILED_PRECONDITION - jika sebuah argumen dalam permintaan kebetulan tidak valid; mis.

create

Membuat Langkah.

get

Mendapatkan Langkah.

getPerfMetricsSummary

Mengambil PerfMetricsSummary.

list

Mencantumkan Langkah untuk Eksekusi tertentu.

patch

Memperbarui Langkah yang ada dengan entity parsial yang disediakan.

publishXunitXmlFiles

Publikasikan file xml ke Langkah yang ada.