REST Resource: projects.histories.executions.steps

Sumber: Langkah

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

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

Berikut ini contohnya, anggaplah kita memiliki build berkelanjutan yang mengeksekusi test runner untuk setiap iterasi. Alur kerjanya akan terlihat seperti: - pengguna membuat Eksekusi dengan id 1 - pengguna membuat TestExecutionStep dengan id 100 untuk Eksekusi 1 - pengguna memperbarui TestExecutionStep dengan id 100 untuk menambahkan log xml mentah + layanan mem-parsing log xml dan mengembalikan TestExecutionStep dengan TestResult yang diperbarui. - pengguna memperbarui status TestExecutionStep dengan id 100 menjadi SELESAI

Sebuah Langkah dapat diperbarui hingga statusnya disetel ke COMPLETE dan pada titik tersebut statusnya 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.
}
bidang
stepId

string

Pengidentifikasi unik dalam Eksekusi untuk Langkah ini.

Mengembalikan INVALID_ARGUMENT jika bidang ini disetel atau ditimpa oleh pemanggil.

  • Sebagai tanggapan: selalu disetel
  • Dalam permintaan buat/perbarui: tidak pernah disetel
creationTime

object ( Timestamp )

Waktu ketika langkah itu dibuat.

  • Sebagai tanggapan: selalu disetel
  • Dalam permintaan buat/perbarui: tidak pernah disetel
completionTime

object ( Timestamp )

Waktu ketika status langkah ditetapkan untuk selesai.

Nilai ini akan ditetapkan secara otomatis ketika status bertransisi ke COMPLETE.

  • Sebagai tanggapan: atur jika status eksekusi SELESAI.
  • Dalam permintaan buat/perbarui: tidak pernah disetel
name

string

Nama pendek yang dapat dibaca manusia untuk ditampilkan di UI. Maksimal 100 karakter. Misalnya: Bangunan bersih

PRECONDITION_FAILED akan dikembalikan saat membuat langkah baru jika nama dan DimensionValue-nya sama dengan langkah yang sudah ada. Jika dua langkah mewakili tindakan serupa, namun memiliki nilai dimensi berbeda, keduanya harus memiliki nama yang sama. Misalnya, jika rangkaian pengujian yang sama dijalankan pada dua platform berbeda, kedua langkah tersebut harus memiliki nama yang sama.

  • Sebagai tanggapan: selalu disetel
  • Dalam permintaan pembuatan: selalu disetel
  • Dalam permintaan pembaruan: tidak pernah disetel
description

string

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

  • Sebagai tanggapan: hadir jika diatur oleh permintaan buat/perbarui
  • Dalam permintaan buat/perbarui: opsional
state

enum ( State )

Keadaan awal adalah IN_PROGRESS. Satu-satunya transisi status yang sah adalah * IN_PROGRESS -> COMPLETE

PRECONDITION_FAILED akan dikembalikan jika diminta transisi yang tidak valid.

Adalah valid untuk membuat Langkah dengan status disetel ke SELESAI. Status hanya dapat disetel ke COMPLETE satu kali. PRECONDITION_FAILED akan dikembalikan jika status disetel ke COMPLETE beberapa kali.

  • Sebagai tanggapan: selalu disetel
  • Dalam permintaan buat/perbarui: opsional
outcome

object ( Outcome )

Klasifikasi hasil, misalnya SUKSES atau KEGAGALAN

  • Sebagai tanggapan: hadir jika diatur oleh permintaan buat/perbarui
  • Dalam permintaan buat/perbarui: opsional
hasImages

boolean

Apakah output dari langkah ini berupa gambar yang thumbnail-nya dapat diambil dengan thumbnails.list.

  • Sebagai tanggapan: selalu disetel
  • Dalam permintaan buat/perbarui: tidak pernah disetel
labels

map (key: string, value: string)

Pasangan kunci/nilai yang disediakan pengguna secara sewenang-wenang dan terkait dengan langkah tersebut.

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

INVALID_ARGUMENT akan dikembalikan jika jumlah label melebihi 100 atau jika panjang salah satu kunci atau nilai melebihi 100 karakter.

  • Sebagai tanggapan: selalu disetel
  • Dalam permintaan pembuatan: opsional
  • Dalam permintaan pembaruan: opsional; setiap pasangan kunci/nilai baru akan ditambahkan ke peta, dan setiap nilai baru untuk kunci yang ada akan memperbarui nilai kunci tersebut

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

dimensionValue

map (key: string, value: string)

Jika eksekusi yang berisi langkah ini memiliki kumpulan definisi_dimensi, maka bidang ini memungkinkan anak untuk menentukan nilai dimensi.

Kuncinya harus sama persis dengan dimensi_definisi eksekusi.

Misalnya, jika eksekusi memiliki dimension_definition = ['attempt', 'device'] maka suatu langkah harus menentukan nilai untuk dimensi tersebut, misalnya. dimensionValue = ['attempt': '1', 'device': 'Nexus 6']

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

Jika langkah tersebut tidak berpartisipasi dalam dimensi matriks apa pun, maka DimensionValue mungkin tidak disetel.

PRECONDITION_FAILED akan dikembalikan jika salah satu kunci tidak ada dalam dimensi_definisi eksekusi.

PRECONDITION_FAILED akan dikembalikan jika langkah lain dalam eksekusi ini sudah memiliki nama dan DimensionValue yang sama, namun berbeda pada bidang data lainnya, misalnya bidang langkah berbeda.

PRECONDITION_FAILED akan dikembalikan jika DimensionValue disetel, dan ada Dimension_definition dalam eksekusi yang tidak ditentukan sebagai salah satu kunci.

  • Sebagai tanggapan: hadir jika disetel oleh buat
  • Dalam permintaan pembuatan: opsional
  • Dalam permintaan pembaruan: tidak pernah disetel

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

runDuration

object ( Duration )

Berapa lama waktu yang dibutuhkan untuk menjalankan langkah ini.

Jika tidak disetel, ini disetel ke selisih antara waktu pembuatan dan waktu penyelesaian saat langkah disetel ke status SELESAI. Dalam beberapa kasus, adalah tepat untuk menetapkan nilai ini secara terpisah: Misalnya, jika sebuah langkah dibuat, namun operasi yang diwakilinya diantrekan selama beberapa menit sebelum dieksekusi, akan lebih tepat untuk tidak menyertakan waktu yang dihabiskan dalam antrian dalam langkah tersebut. runDuration.

PRECONDITION_FAILED akan dikembalikan jika seseorang mencoba menyetel runDuration pada langkah yang bidang ini sudah disetel.

  • Sebagai tanggapan: hadir jika ditetapkan sebelumnya; selalu hadir pada langkah LENGKAP
  • Dalam permintaan pembuatan: opsional
  • Dalam permintaan pembaruan: opsional
deviceUsageDuration

object ( Duration )

Berapa banyak sumber daya perangkat yang digunakan untuk melakukan pengujian.

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

PRECONDITION_FAILED akan dikembalikan jika seseorang mencoba menyetel penggunaan_perangkat pada langkah yang bidang ini sudah disetel.

  • Sebagai tanggapan: hadir jika ditetapkan sebelumnya.
  • Dalam permintaan pembuatan: opsional
  • Dalam permintaan pembaruan: opsional
multiStep

object ( MultiStep )

Detail saat beberapa langkah dijalankan dengan konfigurasi yang sama sebagai grup. Detail ini dapat digunakan untuk mengidentifikasi kelompok mana yang termasuk dalam langkah ini. Hal ini juga mengidentifikasi 'langkah utama' kelompok yang mengindeks semua anggota kelompok.

  • Sebagai tanggapan: hadir jika ditetapkan sebelumnya.
  • Dalam permintaan buat: opsional, atur jika langkah ini dilakukan lebih dari sekali.
  • Dalam permintaan pembaruan: opsional

step lapangan serikat pekerja.

step hanya dapat berupa salah satu dari berikut ini:

testExecutionStep

object ( TestExecutionStep )

Eksekusi pelari uji.

toolExecutionStep

object ( ToolExecutionStep )

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

Langkah Eksekusi Uji

Sebuah langkah yang mewakili pengujian yang sedang berjalan.

Ia menerima file xml ant-junit yang akan diuraikan menjadi hasil pengujian terstruktur oleh layanan. Jalur file Xml diperbarui untuk menambahkan lebih banyak file, namun file tersebut tidak dapat dihapus.

Pengguna juga dapat menambahkan hasil tes secara manual dengan menggunakan kolom test_result.

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

object ( TestSuiteOverview )

Daftar isi ikhtisar rangkaian pengujian. Ini dapat diuraikan dari log xUnit XML oleh server, atau diunggah langsung oleh pengguna. Referensi ini hanya boleh dipanggil ketika rangkaian pengujian telah diuraikan atau diunggah sepenuhnya.

Jumlah ikhtisar rangkaian pengujian maksimum yang diperbolehkan per langkah adalah 1000.

  • Sebagai tanggapan: selalu disetel
  • Dalam permintaan pembuatan: opsional
  • Dalam permintaan pembaruan: tidak pernah (gunakan metode khusus publikasikanXunitXmlFiles sebagai gantinya)
toolExecution

object ( ToolExecution )

Mewakili eksekusi test runner.

Kode keluar dari alat ini akan digunakan untuk menentukan apakah tes tersebut lulus.

  • Sebagai tanggapan: selalu disetel
  • Dalam permintaan buat/perbarui: opsional
testIssues[]

object ( TestIssue )

Masalah yang diamati selama pelaksanaan tes.

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

  • Sebagai tanggapan: hadir jika diatur oleh buat atau perbarui
  • Dalam permintaan buat/perbarui: opsional
testTiming

object ( TestTiming )

Rincian waktu pelaksanaan tes.

  • Sebagai tanggapan: hadir jika diatur oleh buat atau perbarui
  • Dalam permintaan buat/perbarui: opsional

Eksekusi Alat

Eksekusi alat yang sewenang-wenang. Ini bisa berupa test runner atau alat yang menyalin artefak atau menerapkan kode.

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

string

Baris perintah tokenisasi lengkap termasuk nama program (setara dengan argv dalam program C).

  • Sebagai tanggapan: hadir jika diatur oleh permintaan pembuatan
  • Dalam permintaan pembuatan: opsional
  • Dalam permintaan pembaruan: tidak pernah disetel
toolLogs[]

object ( FileReference )

Referensi ke log teks biasa menampilkan eksekusi alat.

Bidang ini dapat disetel sebelum alat keluar agar dapat mengakses tampilan langsung log saat alat sedang berjalan.

Jumlah maksimum log alat yang diperbolehkan per langkah adalah 1000.

  • Sebagai tanggapan: hadir jika diatur oleh permintaan buat/perbarui
  • 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. Bidang ini akan disetel setelah alat keluar.

  • Sebagai tanggapan: hadir jika diatur oleh permintaan buat/perbarui
  • Dalam permintaan pembuatan: opsional
  • Dalam permintaan pembaruan: opsional, kesalahan FAILED_PRECONDITION akan dikembalikan jika kode keluar sudah disetel.
toolOutputs[]

object ( ToolOutputReference )

Referensi ke file buram dalam format apa pun yang dihasilkan oleh eksekusi alat.

Jumlah maksimum keluaran alat per langkah yang diperbolehkan adalah 1000.

  • Sebagai tanggapan: hadir jika diatur oleh permintaan buat/perbarui
  • Dalam permintaan pembuatan: opsional
  • Dalam permintaan pembaruan: opsional, nilai apa pun yang diberikan akan ditambahkan ke daftar yang ada

Kode Keluar Alat

Kode keluar dari eksekusi alat.

Representasi JSON
{
  "number": integer
}
bidang
number

integer

Kode keluar eksekusi alat. Nilai 0 berarti eksekusi berhasil.

  • Sebagai tanggapan: selalu disetel
  • Dalam permintaan buat/perbarui: selalu disetel

Masalah Tes

Masalah terdeteksi terjadi selama pelaksanaan pengujian.

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

string

Pesan singkat yang dapat dibaca manusia yang menjelaskan masalah ini. Diperlukan.

stackTrace
(deprecated)

object ( StackTrace )

Tidak digunakan lagi karena mendukung bidang pelacakan tumpukan di dalam peringatan tertentu.

warning

object ( Any )

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

severity

enum ( Severity )

Tingkat keparahan masalah. Diperlukan.

type

enum ( Type )

Jenis masalah. Diperlukan.

category

enum ( Category )

Kategori masalah. Diperlukan.

Setiap

Any berisi pesan buffer protokol berseri sewenang-wenang bersama dengan URL yang menjelaskan jenis pesan berseri.

Pustaka Protobuf menyediakan dukungan untuk mengemas/membongkar nilai apa pun dalam bentuk fungsi utilitas atau metode tambahan yang dihasilkan dari jenis Apa Pun.

Contoh 1: Kemas dan buka paket pesan dalam C++.

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

Contoh 2: Kemas dan buka paket pesan di Java.

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

Contoh 3: Kemas dan buka paket pesan dengan Python.

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

Contoh 4: Kemas dan buka paket 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 perpustakaan protobuf secara default akan menggunakan 'type.googleapis.com/full.type.name' sebagai URL tipe dan metode unpack hanya menggunakan nama tipe yang sepenuhnya memenuhi syarat setelah '/' terakhir di URL tipe, misalnya "foo.bar.com/x/yz" akan menghasilkan nama tipe "yz".

JSON

Representasi JSON dari nilai Any menggunakan representasi reguler dari pesan tersemat yang dideserialisasi, dengan bidang tambahan @type yang berisi URL tipe. 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 khusus, representasi tersebut akan disematkan dengan menambahkan value bidang yang menampung JSON khusus selain bidang @type . Contoh (untuk pesan google.protobuf.Duration ):

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

string

Nama URL/sumber daya yang secara unik mengidentifikasi jenis pesan buffer protokol berseri. String ini harus berisi setidaknya satu karakter "/". Segmen terakhir jalur URL harus mewakili nama jenis yang sepenuhnya memenuhi syarat (seperti pada path/google.protobuf.Duration ). Nama harus dalam bentuk kanonik (misalnya, awalan "." tidak diterima).

Dalam praktiknya, tim biasanya melakukan prakompilasi ke dalam biner semua jenis yang mereka harapkan akan digunakan dalam konteks Any. Namun, untuk URL yang menggunakan skema http , https , atau tanpa skema, seseorang dapat secara opsional menyiapkan server tipe yang memetakan tipe URL ke definisi pesan sebagai berikut:

  • Jika tidak ada skema yang disediakan, https diasumsikan.
  • HTTP GET pada URL harus menghasilkan nilai google.protobuf.Type dalam format biner, atau menghasilkan kesalahan.
  • Aplikasi diizinkan untuk menyimpan hasil pencarian dalam cache berdasarkan URL, atau mengkompilasinya terlebih dahulu ke dalam biner untuk menghindari pencarian apa pun. Oleh karena itu, kompatibilitas biner perlu dipertahankan pada perubahan tipe. (Gunakan nama tipe berversi untuk mengelola perubahan yang dapat menyebabkan gangguan.)

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

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

value

string ( bytes format)

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

String yang dikodekan base64.

Kerasnya

Tingkat keparahan masalah.

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

Jenis

Jenis masalah.

Enum
unspecifiedType Tipe default tidak ditentukan. Jangan gunakan. Hanya untuk pembuatan versi.
fatalException Masalah adalah pengecualian yang fatal.
nativeCrash Masalahnya adalah kerusakan asli.
anr Masalahnya adalah ANR mogok.
unusedRoboDirective Masalahnya adalah arahan robo yang tidak digunakan.
compatibleWithOrchestrator Masalahnya adalah saran untuk menggunakan orkestrator.
launcherActivityNotFound Masalah saat menemukan aktivitas peluncur
startActivityNotFound Masalah dalam menyelesaikan niat yang diberikan pengguna untuk memulai aktivitas
incompleteRoboScriptExecution Skrip Robo tidak sepenuhnya dijalankan.
completeRoboScriptExecution Skrip Robo telah sepenuhnya dan berhasil dijalankan.
failedToInstall APK gagal dipasang.
nonSdkApiUsageViolation Aplikasi mengakses Api non-sdk.
nonSdkApiUsageReport Aplikasi mengakses Api non-sdk (laporan mendetail baru)
encounteredNonAndroidUiWidgetScreen Perayapan Robo menemukan setidaknya satu layar dengan elemen yang bukan widget UI Android.
encounteredLoginScreen Perayapan Robo menemukan setidaknya satu kemungkinan layar masuk.
performedGoogleLogin Robo masuk dengan Google.
iosException Aplikasi iOS mogok dengan pengecualian.
iosCrash Aplikasi iOS mogok tanpa kecuali (misal terbunuh).
performedMonkeyActions Perayapan Robo melibatkan melakukan beberapa tindakan monyet.
usedRoboDirective Perayapan Robo menggunakan arahan Robo.
usedRoboIgnoreDirective Perayapan Robo menggunakan arahan Robo untuk mengabaikan elemen UI.
insufficientCoverage Robo tidak meng-crawl beberapa bagian aplikasi yang berpotensi penting.
inAppPurchases Perayapan Robo melibatkan beberapa pembelian dalam aplikasi.
crashDialogError Dialog kerusakan terdeteksi selama pelaksanaan pengujian
uiElementsTooDeep Kedalaman elemen UI lebih besar dari ambang batas
blankScreen Layar kosong ditemukan di perayapan Robo
overlappingUiElements Elemen UI yang tumpang tindih ditemukan di perayapan Robo
unityException Pengecualian Unity yang tidak tertangkap terdeteksi (ini tidak membuat aplikasi mogok).
deviceOutOfMemory Perangkat kehabisan memori terdeteksi
logcatCollectionError Masalah terdeteksi saat mengumpulkan logcat
detectedAppSplashScreen Robo mendeteksi layar pembuka yang disediakan oleh aplikasi (vs. layar pembuka OS Android).

Kategori

Kategori masalah.

Enum
unspecifiedCategory Kategori default tidak ditentukan. Jangan gunakan. Hanya untuk pembuatan versi.
common Masalah tidak spesifik untuk jenis pengujian tertentu (misalnya, kerusakan asli).
robo Masalah khusus untuk menjalankan Robo.

Waktu Tes

Waktu pengujian dipecah untuk mengetahui fase-fasenya.

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

object ( Duration )

Berapa lama waktu yang dibutuhkan untuk menjalankan proses pengujian.

  • Sebagai tanggapan: hadir jika ditetapkan sebelumnya.
  • Dalam permintaan buat/perbarui: opsional

Langkah Eksekusi Alat

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

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

object ( ToolExecution )

Eksekusi Alat.

  • Sebagai tanggapan: hadir jika diatur oleh permintaan buat/perbarui
  • Dalam permintaan buat/perbarui: opsional

MultiLangkah

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

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

string

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

multistepNumber

integer

Int unik diberikan pada setiap langkah. Berkisar dari 0 (inklusif) hingga jumlah langkah (eksklusif). Langkah utama adalah 0.

primaryStep

object ( PrimaryStep )

Hadir jika ini merupakan langkah utama (asli).

Langkah Utama

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

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

enum ( OutcomeSummary )

Status pengujian rollup beberapa langkah yang dijalankan dengan konfigurasi yang sama sebagai grup.

individualOutcome[]

object ( IndividualOutcome )

Id Langkah dan hasil dari setiap langkah individual.

Hasil Individu

Id langkah dan hasil setiap langkah individu yang dijalankan secara berkelompok dengan langkah lain dengan konfigurasi yang sama.

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

string

outcomeSummary

enum ( OutcomeSummary )

multistepNumber

integer

Int unik diberikan pada setiap langkah. Berkisar dari 0 (inklusif) hingga jumlah langkah (eksklusif). Langkah utama adalah 0.

runDuration

object ( Duration )

Berapa lama waktu yang dibutuhkan untuk menjalankan langkah ini.

Metode

accessibilityClusters

Mencantumkan klaster aksesibilitas untuk Langkah tertentu

Dapat mengembalikan salah satu kode kesalahan kanonik berikut:

  • PERMISSION_DENIED - jika pengguna tidak berwenang untuk membaca proyek
  • INVALID_ARGUMENT - jika permintaan salah format
  • FAILED_PRECONDITION - jika argumen dalam permintaan tidak valid; misalnya

create

Membuat Langkah.

get

Mendapat Langkah.

getPerfMetricsSummary

Mengambil PerfMetricsSummary.

list

Mencantumkan Langkah-langkah untuk Eksekusi tertentu.

patch

Memperbarui Langkah yang ada dengan entitas parsial yang disediakan.

publishXunitXmlFiles

Publikasikan file xml ke Langkah yang ada.