REST Resource: projects.histories.executions.steps

Kaynak: Adım

Adım, Yürütmenin bir parçası olarak gerçekleştirilen tek bir işlemi temsil eder. Bir aracın yürütülmesini temsil etmek için bir adım kullanılabilir (örneğin, bir test çalıştırıcısının yürütülmesi veya bir derleyicinin yürütülmesi).

Adımlar çakışabilir (örneğin, bazı işlemler paralel olarak yapılırsa iki adım aynı başlangıç ​​zamanına sahip olabilir).

İşte bir örnek, her yineleme için bir test çalıştırıcısı çalıştıran sürekli bir yapıya sahip olduğumuzu düşünelim. İş akışı şu şekilde görünecektir: - kullanıcı kimliği 1 olan bir Yürütme oluşturur - kullanıcı Yürütme 1 için kimliği 100 olan bir TestExecutionStep oluşturur - kullanıcı ham xml günlüğü eklemek için kimliği 100 olan TestExecutionStep'i günceller + hizmet xml günlüklerini ayrıştırır ve ile bir TestExecutionStep döndürür güncellenen Test Sonuçları. - kullanıcı ID 100 ile TestExecutionStep'in durumunu COMPLETE olarak günceller

Bir Adım, durumu TAM olarak ayarlanana kadar güncellenebilir ve bu noktalarda değişmez hale gelir.

JSON gösterimi
{
  "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.
}
Alanlar
stepId

string

Bu Adımın Yürütülmesindeki benzersiz tanımlayıcı.

Bu alan arayan tarafından ayarlanırsa veya üzerine yazılırsa INVALID_ARGUMENT değerini döndürür.

  • Yanıt olarak: her zaman ayarla
  • Oluşturma/güncelleme isteğinde: asla ayarlama
creationTime

object ( Timestamp )

Adımın oluşturulduğu zaman.

  • Yanıt olarak: her zaman ayarla
  • Oluşturma/güncelleme isteğinde: asla ayarlama
completionTime

object ( Timestamp )

Adım durumunun tamamlanmak üzere ayarlandığı zaman.

Durum TAMAM'a geçtiğinde bu değer otomatik olarak ayarlanacaktır.

  • Yanıt olarak: yürütme durumu TAMAM ise ayarlayın.
  • Oluşturma/güncelleme isteğinde: asla ayarlama
name

string

Kullanıcı arayüzünde görüntülenecek, insanların okuyabileceği kısa bir ad. Maksimum 100 karakter. Örneğin: Temiz yapı

Bir PRECONDITION_FAILED, adını ve boyutValue değerini mevcut bir adımla paylaşıyorsa, yeni bir adım oluşturulduktan sonra döndürülür. İki adım benzer bir eylemi temsil ediyor ancak farklı boyut değerlerine sahipse aynı adı paylaşmalıdırlar. Örneğin, aynı test seti iki farklı platformda çalıştırılıyorsa iki adımın adı aynı olmalıdır.

  • Yanıt olarak: her zaman ayarla
  • İstek oluşturmada: her zaman ayarla
  • Güncelleme isteğinde: asla ayarlama
description

string

Bu aracın açıklaması Örneğin: mvn clean package -D skipTests=true

  • Yanıt olarak: oluşturma/güncelleme isteği tarafından ayarlandıysa mevcut
  • Oluşturma/güncelleme isteğinde: isteğe bağlı
state

enum ( State )

Başlangıç ​​durumu IN_PROGRESS'tir. Tek yasal durum geçişleri şunlardır: * IN_PROGRESS -> COMPLETE

Geçersiz bir geçiş istendiğinde PRECONDITION_FAILED döndürülür.

Durumu COMPLETE olarak ayarlanmış şekilde Step oluşturmak geçerlidir. Durum yalnızca bir kez TAMAMLANDI olarak ayarlanabilir. Durum birden çok kez COMPLETE olarak ayarlanırsa PRECONDITION_FAILED döndürülür.

  • Yanıt olarak: her zaman ayarla
  • Oluşturma/güncelleme isteğinde: isteğe bağlı
outcome

object ( Outcome )

Sonucun sınıflandırılması, örneğin BAŞARI veya BAŞARISIZLIK olarak

  • Yanıt olarak: oluşturma/güncelleme isteği tarafından ayarlandıysa mevcut
  • Oluşturma/güncelleme isteğinde: isteğe bağlı
hasImages

boolean

Bu adımın çıktılarından herhangi birinin küçük resimleri küçük resimler.listesi ile getirilebilen resimler olup olmadığı.

  • Yanıt olarak: her zaman ayarla
  • Oluşturma/güncelleme isteğinde: asla ayarlama
labels

map (key: string, value: string)

Adımla ilişkili, kullanıcının sağladığı rastgele anahtar/değer çiftleri.

Anahtar ad alanının, anahtarların yanlışlıkla çarpışmasını önleyecek şekilde yönetilmesinden kullanıcılar sorumludur.

Etiket sayısı 100'ü aşarsa veya anahtarlardan veya değerlerden herhangi birinin uzunluğu 100 karakteri aşarsa INVALID_ARGUMENT döndürülür.

  • Yanıt olarak: her zaman ayarla
  • İstek oluşturmada: isteğe bağlı
  • Güncelleme isteğinde: isteğe bağlı; haritaya herhangi bir yeni anahtar/değer çifti eklenecek ve mevcut bir anahtara ilişkin herhangi bir yeni değer, o anahtarın değerini güncelleyecektir.

"key": value çiftleri. Örnek: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

dimensionValue

map (key: string, value: string)

Bu adımı içeren yürütmede herhangi bir boyut_ tanımı kümesi varsa, bu alan alt öğenin boyutların değerlerini belirtmesine olanak tanır.

Anahtarlar, yürütmenin boyut_tanımıyla tam olarak eşleşmelidir.

Örneğin, yürütmede dimension_definition = ['attempt', 'device'] varsa, o zaman bir adımın bu boyutlar için değerleri tanımlaması gerekir; örn. dimensionValue = ['attempt': '1', 'device': 'Nexus 6']

Bir adım matrisin bir boyutuna katılmıyorsa bu boyutun değeri boş dize olmalıdır. Örneğin, testlerden biri yeniden denemeleri desteklemeyen bir koşucu tarafından yürütülürse adımda dimensionValue = ['attempt': '', 'device': 'Nexus 6'] olabilir.

Adım matrisin herhangi bir boyutuna katılmıyorsa, DimensionValue ayarlanmadan bırakılabilir.

Yürütmenin boyut_tanımı içinde anahtarlardan herhangi biri mevcut değilse, PRECONDITION_FAILED döndürülür.

Bu yürütmedeki başka bir adım zaten aynı ada ve boyutValue'ya sahipse ancak diğer veri alanlarında farklılık gösteriyorsa (örneğin, adım alanı farklıdır), bir PRECONDITION_FAILED döndürülür.

boyutValue ayarlandıysa ve yürütmede anahtarlardan biri olarak belirtilmeyen bir boyut_ tanımı varsa, bir PRECONDITION_FAILED döndürülür.

  • Yanıt olarak: create tarafından ayarlandıysa mevcut
  • İstek oluşturmada: isteğe bağlı
  • Güncelleme isteğinde: asla ayarlama

"key": value çiftleri. Örnek: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

runDuration

object ( Duration )

Bu adımın gerçekleşmesi ne kadar sürdü?

Ayarlanmadığı takdirde, adım COMPLETE durumuna ayarlandığında bu, createdTime vecompleteTime arasındaki farka ayarlanır. Bazı durumlarda bu değeri ayrı ayarlamak uygun olabilir: Örneğin, bir adım oluşturulduysa ancak temsil ettiği işlem yürütülmeden önce birkaç dakika kuyruğa alındıysa, kuyrukta harcanan süreyi adıma dahil etmemek uygun olacaktır. runSüresi.

Bu alan zaten ayarlanmış olan bir adımda runDuration ayarlanmaya çalışılırsa PRECONDITION_FAILED döndürülür.

  • Yanıt olarak: önceden ayarlanmışsa mevcut; her zaman TAMAM adımında mevcut
  • İstek oluşturmada: isteğe bağlı
  • Güncelleme isteğinde: isteğe bağlı
deviceUsageDuration

object ( Duration )

Testi gerçekleştirmek için cihaz kaynağının ne kadar kullanıldığı.

Bu, runDuration'dan farklı olan, faturalandırma amacıyla kullanılan cihaz kullanımıdır; örneğin, cihaz kullanımı için altyapı arızası ücretlendirilmeyecektir.

Bu alan zaten ayarlanmış olan bir adımda bir cihaz_kullanımı ayarlanmaya çalışılırsa PRECONDITION_FAILED döndürülür.

  • Yanıt olarak: önceden ayarlanmışsa mevcuttur.
  • İstek oluşturmada: isteğe bağlı
  • Güncelleme isteğinde: isteğe bağlı
multiStep

object ( MultiStep )

Birden çok adımın bir grupla aynı yapılandırmayla çalıştırıldığına ilişkin ayrıntılar. Bu ayrıntılar, bu adımın hangi grubun parçası olduğunu belirlemek için kullanılabilir. Ayrıca tüm grup üyelerini indeksleyen grubun 'birincil adımını' da tanımlar.

  • Yanıt olarak: önceden ayarlanmışsa mevcuttur.
  • Create request: isteğe bağlı olarak, bu adımın birden fazla kez gerçekleştirilip gerçekleştirilmediğini ayarlayın.
  • Güncelleme isteğinde: isteğe bağlı

Birlik alanı step .

step aşağıdakilerden yalnızca biri olabilir:

testExecutionStep

object ( TestExecutionStep )

Bir test çalıştırıcısının infazı.

toolExecutionStep

object ( ToolExecutionStep )

Bir aracın çalıştırılması (açıkça desteklemediğimiz adımlar için kullanılır).

TestYürütmeAdım

Testlerin yürütülmesini temsil eden bir adım.

Hizmet tarafından yapılandırılmış test sonuçlarına ayrıştırılacak ant-junit xml dosyalarını kabul eder. Xml dosya yolları, daha fazla dosya eklemek için güncellenir ancak bunlar silinemez.

Kullanıcılar ayrıca test_result alanını kullanarak test sonuçlarını manuel olarak da ekleyebilirler.

JSON gösterimi
{
  "testSuiteOverviews": [
    {
      object (TestSuiteOverview)
    }
  ],
  "toolExecution": {
    object (ToolExecution)
  },
  "testIssues": [
    {
      object (TestIssue)
    }
  ],
  "testTiming": {
    object (TestTiming)
  }
}
Alanlar
testSuiteOverviews[]

object ( TestSuiteOverview )

Test paketine genel bakış içeriklerinin listesi. Bu, xUnit XML günlüğünden sunucuya göre ayrıştırılabilir veya doğrudan kullanıcı tarafından yüklenebilir. Bu referanslar yalnızca test paketleri tamamen ayrıştırıldığında veya yüklendiğinde çağrılmalıdır.

Adım başına izin verilen maksimum test paketi genel bakış sayısı 1000'dir.

  • Yanıt olarak: her zaman ayarla
  • İstek oluşturmada: isteğe bağlı
  • Güncelleme isteğinde: asla (bunun yerinepublishXunitXmlFiles özel yöntemini kullanın)
toolExecution

object ( ToolExecution )

Test çalıştırıcısının yürütülmesini temsil eder.

Bu aracın çıkış kodu, testin başarılı olup olmadığını belirlemek için kullanılacaktır.

  • Yanıt olarak: her zaman ayarla
  • Oluşturma/güncelleme isteğinde: isteğe bağlı
testIssues[]

object ( TestIssue )

Testin yürütülmesi sırasında gözlemlenen sorunlar.

Örneğin, test edilen mobil uygulamanın test sırasında çökmesi durumunda hata mesajı ve yığın izleme içeriği, hata ayıklamaya yardımcı olmak için buraya kaydedilebilir.

  • Yanıt olarak: oluştur veya güncelle tarafından ayarlandıysa mevcut
  • Oluşturma/güncelleme isteğinde: isteğe bağlı
testTiming

object ( TestTiming )

Test yürütmesinin zamanlama dökümü.

  • Yanıt olarak: oluştur veya güncelle tarafından ayarlandıysa mevcut
  • Oluşturma/güncelleme isteğinde: isteğe bağlı

Araç Yürütme

Rastgele bir aracın yürütülmesi. Bu, bir test çalıştırıcısı veya yapıtları kopyalayan veya kodu dağıtan bir araç olabilir.

JSON gösterimi
{
  "commandLineArguments": [
    string
  ],
  "toolLogs": [
    {
      object (FileReference)
    }
  ],
  "exitCode": {
    object (ToolExitCode)
  },
  "toolOutputs": [
    {
      object (ToolOutputReference)
    }
  ]
}
Alanlar
commandLineArguments[]

string

Program adını da içeren tam simgeleştirilmiş komut satırı (C programındaki argv'ye eşdeğerdir).

  • Yanıt olarak: oluşturma isteği tarafından ayarlandıysa mevcut
  • İstek oluşturmada: isteğe bağlı
  • Güncelleme isteğinde: asla ayarlama
toolLogs[]

object ( FileReference )

Herhangi bir düz metin günlüğüne yapılan referanslar, aracın yürütülmesinin çıktısını alır.

Araç çalışırken günlüklerin canlı görünümüne erişebilmek için bu alan araçtan çıkmadan önce ayarlanabilir.

Adım başına izin verilen maksimum takım günlüğü sayısı 1000'dir.

  • Yanıt olarak: oluşturma/güncelleme isteği tarafından ayarlandıysa mevcut
  • İstek oluşturmada: isteğe bağlı
  • Güncelleme isteğinde: isteğe bağlı, sağlanan herhangi bir değer mevcut listeye eklenecektir
exitCode

object ( ToolExitCode )

Araç yürütme çıkış kodu. Bu alan araçtan çıkıldığında ayarlanacaktır.

  • Yanıt olarak: oluşturma/güncelleme isteği tarafından ayarlandıysa mevcut
  • İstek oluşturmada: isteğe bağlı
  • Güncelleme isteğinde: isteğe bağlı, bir çıkışKodu zaten ayarlanmışsa FAILED_PRECONDITION hatası döndürülür.
toolOutputs[]

object ( ToolOutputReference )

Aracın çalıştırılmasıyla çıktı olarak alınan herhangi bir formattaki opak dosyalara yapılan referanslar.

Adım başına izin verilen maksimum takım çıkışı sayısı 1000'dir.

  • Yanıt olarak: oluşturma/güncelleme isteği tarafından ayarlandıysa mevcut
  • İstek oluşturmada: isteğe bağlı
  • Güncelleme isteğinde: isteğe bağlı, sağlanan herhangi bir değer mevcut listeye eklenecektir

AraçÇıkış Kodu

Bir araç yürütmesinden koddan çıkın.

JSON gösterimi
{
  "number": integer
}
Alanlar
number

integer

Araç yürütme çıkış kodu. 0 değeri yürütmenin başarılı olduğu anlamına gelir.

  • Yanıt olarak: her zaman ayarla
  • Oluşturma/güncelleme isteğinde: her zaman ayarla

Test Sorunu

Test yürütme sırasında meydana gelen bir sorun algılandı.

JSON gösterimi
{
  "errorMessage": string,
  "stackTrace": {
    object (StackTrace)
  },
  "warning": {
    object (Any)
  },
  "severity": enum (Severity),
  "type": enum (Type),
  "category": enum (Category)
}
Alanlar
errorMessage

string

Sorunu açıklayan, insanların okuyabileceği kısa bir mesaj. Gerekli.

stackTrace
(deprecated)

object ( StackTrace )

Belirli uyarıların içindeki yığın izleme alanları lehine kullanımdan kaldırıldı.

warning

object ( Any )

Sorunun ek ayrıntılarını içeren uyarı mesajı. Her zaman com.google.devtools.toolresults.v1.warnings'den bir mesaj olmalıdır

severity

enum ( Severity )

Sorunun ciddiyeti. Gerekli.

type

enum ( Type )

Sorun türü. Gerekli.

category

enum ( Category )

Sorunun kategorisi. Gerekli.

Herhangi

Any , serileştirilmiş mesajın türünü açıklayan bir URL ile birlikte rastgele bir serileştirilmiş protokol arabellek mesajı içerir.

Protobuf kitaplığı, yardımcı işlevler veya Herhangi bir türün ek oluşturulan yöntemleri biçimindeki Herhangi bir değeri paketlemek/paketten çıkarmak için destek sağlar.

Örnek 1: C++'da bir mesajı paketleme ve paketinden çıkarma.

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

Örnek 2: Java'da bir mesajı paketleyin ve paketinden çıkarın.

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

Örnek 3: Python'da bir mesajı paketleyin ve paketinden çıkarın.

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

Örnek 4: Go'da bir mesajı paketleme ve paketinden çıkarma

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

Protobuf kitaplığı tarafından sağlanan paketleme yöntemleri varsayılan olarak tür URL'si olarak 'type.googleapis.com/full.type.name' adresini kullanır ve paketten çıkarma yöntemleri yalnızca tür URL'sindeki son '/'den sonra tam nitelikli tür adını kullanır, örneğin "foo.bar.com/x/yz", "yz" tür adını verecektir.

JSON

Any bir değerin JSON temsili, seri durumdan çıkarılmış, gömülü mesajın normal temsilini, tür URL'sini içeren ek bir @type alanıyla birlikte kullanır. Örnek:

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

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

Gömülü mesaj türü iyi biliniyorsa ve özel bir JSON temsiline sahipse, bu temsil, @type alanına ek olarak özel JSON'u içeren bir alan value eklenerek gömülecektir. Örnek ( google.protobuf.Duration mesajı için):

{
  "@type": "type.googleapis.com/google.protobuf.Duration",
  "value": "1.212s"
}
JSON gösterimi
{
  "typeUrl": string,
  "value": string
}
Alanlar
typeUrl

string

Serileştirilmiş protokol arabellek mesajının türünü benzersiz şekilde tanımlayan bir URL/kaynak adı. Bu dize en az bir "/" karakteri içermelidir. URL yolunun son bölümü, türün tam adını temsil etmelidir ( path/google.protobuf.Duration olduğu gibi). Ad kanonik biçimde olmalıdır (örneğin, "." satırının başına geçilmesi kabul edilmez).

Uygulamada, ekipler genellikle herhangi biri bağlamında kullanmasını bekledikleri tüm türleri ikili dosyaya önceden derlerler. Bununla birlikte, http , https şemasını kullanan veya şeması olmayan URL'ler için, isteğe bağlı olarak, tür URL'lerini mesaj tanımlarıyla eşleyen bir tür sunucusu aşağıdaki gibi ayarlanabilir:

  • Herhangi bir şema sağlanmazsa, https varsayılır.
  • URL'deki bir HTTP GET'i, ikili biçimde bir google.protobuf.Type değeri vermeli veya bir hata üretmelidir.
  • Uygulamaların, URL'ye dayalı olarak arama sonuçlarını önbelleğe almasına veya herhangi bir aramayı önlemek için bunları bir ikili dosyada önceden derlemesine izin verilir. Bu nedenle türlerdeki değişikliklerde ikili uyumluluğun korunması gerekir. (Son değişiklikleri yönetmek için sürümlendirilmiş tür adlarını kullanın.)

Not: Bu işlevsellik şu anda resmi protobuf sürümünde mevcut değildir ve type.googleapis.com ile başlayan URL türü için kullanılmaz.

http , https (veya boş şema) dışındaki şemalar uygulamaya özel anlambilimle kullanılabilir.

value

string ( bytes format)

Yukarıda belirtilen türde geçerli bir serileştirilmiş protokol arabelleği olmalıdır.

Base64 kodlu bir dize.

Şiddet

Sorunların ciddiyeti.

Numaralandırmalar
unspecifiedSeverity Varsayılan belirtilmemiş önem derecesi. Kullanmayın. Yalnızca sürüm oluşturmak için.
info Kullanıcılara test çalıştırması hakkında bazı bilgiler sağlayan, kritik olmayan sorun.
suggestion Kullanıcılara test deneyimlerini iyileştirme konusunda bazı ipuçları sağlayan, örneğin Game Loops'u kullanmanın önerildiği, kritik olmayan sorun.
warning Potansiyel olarak kritik bir sorun.
severe Kritik sorun.

Tip

Sorun türleri.

Numaralandırmalar
unspecifiedType Varsayılan belirtilmemiş tür. Kullanmayın. Yalnızca sürüm oluşturmak için.
fatalException Sorun ölümcül bir istisnadır.
nativeCrash Sorun yerel bir çökmedir.
anr Sorun bir ANR çökmesidir.
unusedRoboDirective Sorun kullanılmayan bir robo direktifidir.
compatibleWithOrchestrator Sorun, orkestratör kullanma önerisidir.
launcherActivityNotFound Başlatıcı etkinliği bulmayla ilgili sorun
startActivityNotFound Bir etkinliği başlatmak için kullanıcı tarafından sağlanan amacın çözümlenmesiyle ilgili sorun
incompleteRoboScriptExecution Bir Robo betiği tam olarak yürütülmedi.
completeRoboScriptExecution Bir Robo betiği tamamen ve başarıyla yürütüldü.
failedToInstall APK yüklenemedi.
nonSdkApiUsageViolation Uygulama, SDK olmayan bir API'ye erişti.
nonSdkApiUsageReport Uygulama, SDK olmayan bir API'ye erişti (yeni ayrıntılı rapor)
encounteredNonAndroidUiWidgetScreen Robo tarama, Android kullanıcı arayüzü widget'ları olmayan öğelerin bulunduğu en az bir ekranla karşılaştı.
encounteredLoginScreen Robo taramada en az bir olası giriş ekranıyla karşılaşıldı.
performedGoogleLogin Robo Google ile oturum açtı.
iosException iOS Uygulaması bir istisna dışında çöktü.
iosCrash iOS Uygulaması istisnasız çöktü (örn. öldürüldü).
performedMonkeyActions Robo tarama, bazı maymun eylemlerinin gerçekleştirilmesini içeriyordu.
usedRoboDirective Robo taraması bir Robo yönergesi kullandı.
usedRoboIgnoreDirective Robo tarama, bir kullanıcı arayüzü öğesini yok saymak için bir Robo yönergesi kullandı.
insufficientCoverage Robo, uygulamanın önemli olabilecek bazı kısımlarını taramadı.
inAppPurchases Robo taraması bazı uygulama içi satın alma işlemlerini içeriyordu.
crashDialogError Test yürütme sırasında kilitlenme iletişim kutusu algılandı
uiElementsTooDeep Kullanıcı arayüzü öğesi derinliği eşikten büyük
blankScreen Robo taramasında boş ekran bulundu
overlappingUiElements Robo taramasında örtüşen kullanıcı arayüzü öğeleri bulundu
unityException Yakalanmamış bir Unity istisnası tespit edildi (bunlar uygulamaları çökertmez).
deviceOutOfMemory Cihazın belleğinin yetersiz kaldığı algılandı
logcatCollectionError Logcat toplanırken tespit edilen sorunlar
detectedAppSplashScreen Robo, uygulama tarafından sağlanan bir açılış ekranı algıladı (Android işletim sistemi açılış ekranına kıyasla).

Kategori

Sorun kategorileri.

Numaralandırmalar
unspecifiedCategory Varsayılan belirtilmemiş kategori. Kullanmayın. Yalnızca sürüm oluşturmak için.
common Sorun belirli bir test türüne (ör. yerel kilitlenme) özgü değildir.
robo Sorun Robo koşusuna özeldir.

TestZamanlaması

Aşamaları bilmek için test zamanlaması dökümü.

JSON gösterimi
{
  "testProcessDuration": {
    object (Duration)
  }
}
Alanlar
testProcessDuration

object ( Duration )

Test sürecini yürütmek ne kadar sürdü?

  • Yanıt olarak: önceden ayarlanmışsa mevcuttur.
  • Oluşturma/güncelleme isteğinde: isteğe bağlı

Araç Yürütme Adımı

Açıkça desteklemediğimiz ikili dosyalar için kullanılacak genel araç adımı. Örneğin: yapıtları bir konumdan diğerine kopyalamak için cp'yi çalıştırmak.

JSON gösterimi
{
  "toolExecution": {
    object (ToolExecution)
  }
}
Alanlar
toolExecution

object ( ToolExecution )

A Aracın yürütülmesi.

  • Yanıt olarak: oluşturma/güncelleme isteği tarafından ayarlandıysa mevcut
  • Oluşturma/güncelleme isteğinde: isteğe bağlı

Çok Adımlı

Birden çok adımın bir grupla aynı yapılandırmayla çalıştırıldığına ilişkin ayrıntılar.

JSON gösterimi
{
  "primaryStepId": string,
  "multistepNumber": integer,
  "primaryStep": {
    object (PrimaryStep)
  }
}
Alanlar
primaryStepId

string

Bu adım olabilecek birincil (orijinal) adımın Adım Kimliği.

multistepNumber

integer

Her adıma verilen benzersiz int. 0 (dahil) ile toplam adım sayısına (hariç) kadar değişir. Birincil adım 0'dır.

primaryStep

object ( PrimaryStep )

Birincil (orijinal) bir adımsa sunun.

Birincil Adım

Grup olarak çalıştırılan birden fazla adımın toplama test durumunu ve her bir adımın sonucunu saklar.

JSON gösterimi
{
  "rollUp": enum (OutcomeSummary),
  "individualOutcome": [
    {
      object (IndividualOutcome)
    }
  ]
}
Alanlar
rollUp

enum ( OutcomeSummary )

Grup olarak aynı yapılandırmayla çalıştırılan birden fazla adımın toplama test durumu.

individualOutcome[]

object ( IndividualOutcome )

Adım Kimliği ve her bir adımın sonucu.

BireyselSonuç

Aynı yapılandırmaya sahip diğer adımlarla birlikte grup olarak çalıştırılan her bir adımın Adım Kimliği ve sonucu.

JSON gösterimi
{
  "stepId": string,
  "outcomeSummary": enum (OutcomeSummary),
  "multistepNumber": integer,
  "runDuration": {
    object (Duration)
  }
}
Alanlar
stepId

string

outcomeSummary

enum ( OutcomeSummary )

multistepNumber

integer

Her adıma verilen benzersiz int. 0 (dahil) ile toplam adım sayısına (hariç) kadar değişir. Birincil adım 0'dır.

runDuration

object ( Duration )

Bu adımın gerçekleşmesi ne kadar sürdü?

Yöntemler

accessibilityClusters

Belirli bir Adım için erişilebilirlik kümelerini listeler

Aşağıdaki standart hata kodlarından herhangi birini döndürebilir:

  • PERMISSION_DENIED - kullanıcının projeyi okuma yetkisi yoksa
  • INVALID_ARGUMENT - istek hatalı biçimlendirilmişse
  • FAILED_PRECONDITION - istekteki bir argüman geçersizse; Örneğin

create

Bir Adım Oluşturur.

get

Bir Adım Alır.

getPerfMetricsSummary

PerfMetricsSummary'yi alır.

list

Belirli bir Yürütme için Adımları listeler.

patch

Sağlanan kısmi varlıkla mevcut bir Adımı günceller.

publishXunitXmlFiles

Xml dosyalarını mevcut bir Step'e yayınlayın.