- Kaynak: TestMatrix
- ClientInfo
- ClientInfoDetail
- TestSpecification
- TestKurulum
- CihazDosyası
- ObbFile
- FileReference
- NormalDosya
- Uygulama
- Hesap
- GoogleAuto
- EnvironmentDeğişkeni
- Sistem Kurulumu
- IosTestKurulum
- iOSCihazDosyası
- Android Enstrümantasyonu Testi
- AppBundle
- OrkestratörSeçeneği
- Parlama Seçeneği
- Tek Tip Parçalama
- Manuel Parçalama
- TestTargetForShard
- SmartSharding
- AndroidRoboTest
- RoboDirective
- RoboActionType
- RoboMode
- RoboGettingIntent
- LauncherActivityIntent
- StartActivityIntent
- NoActivityIntent
- AndroidTestDöngüsü
- IosXcTest
- IosTestDöngüsü
- IosRoboTest
- EnvironmentMatrix (Ortam Matrisi)
- AndroidMatrix
- AndroidCihazListesi
- iOSCihaz Listesi
- iOSCihaz
- Test Yürütme
- Duman
- Ortam
- TestState
- AraçSonuçlarıAdımı
- TestDetails
- SonuçDepolama
- GoogleCloudDepolama
- ToolResultsHistory
- ToolResultsExecution
- GeçersizMatrixDetails (Geçersiz Matris ayrıntıları)
- MatrixErrorDetail
- SonuçÖzeti
- Yöntemler
Kaynak: TestMatrix
TestMatrix, bir testle ilgili tüm ayrıntıları yakalar. Bu dizin ortam yapılandırması, test spesifikasyonu, test yürütmeleri, genel durum ve sonuçları içerir.
JSON gösterimi |
---|
{ "testMatrixId": string, "projectId": string, "clientInfo": { object ( |
Alanlar | |
---|---|
testMatrixId |
Yalnızca çıkış. Hizmet tarafından ayarlanan benzersiz kimlik. |
projectId |
Test matrisinin sahibi olan bulut projesi. |
clientInfo |
Testi çağıran istemci hakkında bilgi. |
testSpecification |
Zorunlu. Test nasıl çalıştırılır? |
environmentMatrix |
Zorunlu. Testlerin yürütüldüğü cihazlar. |
testExecutions[] |
Yalnızca çıkış. Hizmetin bu matris için oluşturduğu test yürütmelerinin listesi. |
resultStorage |
Zorunlu. Matris sonuçlarının yazıldığı yer. |
state |
Yalnızca çıkış. Test matrisinin mevcut ilerlemesini gösterir. |
timestamp |
Yalnızca çıkış. Bu test matrisinin ilk oluşturulduğu zaman. RFC3339 UTC "Zulu" zaman damgası biçiminde olmalıdır. Örnekler: |
invalidMatrixDetails |
Yalnızca çıkış. Matrisin neden geçersiz olarak kabul edildiğini açıklar. Yalnızca GEÇERSİZ durumdaki matrisler için yararlıdır. |
extendedInvalidMatrixDetails[] |
Yalnızca çıkış. Bir matrisin neden geçersiz sayıldığına dair ayrıntılar. Birden fazla kontrol güvenli bir şekilde gerçekleştirilirse bunlar raporlanır ancak bu listenin uzunluğu hakkında herhangi bir varsayımda bulunulmamalıdır. |
flakyTestAttempts |
Test durumlarından biri veya birkaçı herhangi bir nedenle başarısız olursa TestExecution'ın yeniden denenmesi gereken sayı. İzin verilen maksimum tekrar sayısı 10'dur. Varsayılan değer 0'dır. Bu değer, tekrar çalıştırma olmadığı anlamına gelir. |
outcomeSummary |
Yalnızca çıkış. Testin genel sonucu. Yalnızca test matrisi durumu FINISHED olduğunda ayarlanır. |
failFast |
Doğru değerine ayarlanırsa matristeki her yürütme/kırıkı çalıştırmak için en fazla tek bir deneme yapılır. Güvenilir olmayan test denemeleri etkilenmez. Normalde, olası bir altyapı sorunu tespit edildiğinde 2 veya daha fazla deneme yapılır. Bu özellik, gecikmeye duyarlı iş yükleri içindir. Hata önleme matrisleri için yürütmede başarısızlık durumları çok daha fazla olabilir ve bu beklenti nedeniyle destek daha sınırlıdır. |
ClientInfo
Testi çağıran istemci hakkında bilgi.
JSON gösterimi |
---|
{
"name": string,
"clientInfoDetails": [
{
object ( |
Alanlar | |
---|---|
name |
Zorunlu. İstemci adı (ör. gcloud). |
clientInfoDetails[] |
Müşteri hakkında ayrıntılı bilgilerin listesi. |
İstemci Bilgisi Ayrıntısı
Testi çağıran istemci hakkında ayrıntılı bilgilerin anahtar/değer çifti. Örnekler: {'Sürüm', '1.0'}, {'Sürüm Parçası', 'BETA'}.
JSON gösterimi |
---|
{ "key": string, "value": string } |
Alanlar | |
---|---|
key |
Zorunlu. Müşteriyle ilgili ayrıntılı bilgilerin anahtarı. |
value |
Zorunlu. Ayrıntılı müşteri bilgilerinin değeri. |
TestSpecification
Testin nasıl yürütüleceğine dair bir açıklama.
JSON gösterimi |
---|
{ "testTimeout": string, "disableVideoRecording": boolean, "disablePerformanceMetrics": boolean, // Union field |
Alanlar | |
---|---|
testTimeout |
Bir test yürütmesinin otomatik olarak iptal edilmeden önce çalıştırılmasına izin verilen maksimum süre. Varsayılan değer 5 dakikadır. En fazla dokuz kesir basamağı olan ve " |
disableVideoRecording |
Video kaydını devre dışı bırakır. Test gecikmesini azaltabilir. |
disablePerformanceMetrics |
Performans metrikleri kaydını devre dışı bırakır. Test gecikmesini azaltabilir. |
Birleştirme alanı setup . Kurulum koşullarını test edin. setup şunlardan yalnızca biri olabilir: |
|
testSetup |
Android için test kurulumu gereksinimleri, ör. komut dosyaları, önyükleme komut dosyaları. |
iosTestSetup |
iOS için kurulum gereksinimlerini test edin. |
Birleştirme alanı test . Zorunlu. Çalıştırılacak testin türü. test şunlardan yalnızca biri olabilir: |
|
androidInstrumentationTest |
Bir Android araç testi. |
androidRoboTest |
Android otomatik testi. |
androidTestLoop |
Test Döngüsü içeren bir Android uygulaması. |
iosXcTest |
.xctestrun dosyası üzerinden bir iOS XCTest. |
iosTestLoop |
Test döngüsü olan bir iOS uygulaması. |
iosRoboTest |
iOS Robo testi. |
Test Kurulumu
Testi çalıştırmadan önce Android cihazın nasıl kurulacağına ilişkin bir açıklama.
JSON gösterimi |
---|
{ "filesToPush": [ { object ( |
Alanlar | |
---|---|
filesToPush[] |
Teste başlamadan önce cihaza aktarılacak dosyaların listesi. |
directoriesToPull[] |
Testin sonunda GCS'ye yüklenecek cihazdaki dizinlerin listesi; bunlar /sdcard, /storage veya /data/local/tmp altındaki mutlak yollar olmalıdır. Yol adları a-z A-Z 0-9 _ - karakterleriyle sınırlıdır. + ve / Not: Yollar /sdcard ve /data kullanılabilir hale getirilir ve örtülü yol değişiklikleri olarak değerlendirilir. Ör. Belirli bir cihazdaki /sdcard harici depolama alanıyla eşleşmezse sistem, bunu söz konusu cihazın harici depolama yolu önekiyle değiştirir. |
initialSetupApks[] |
İsteğe bağlı. Test edilen uygulama yüklenmeden önce yüklenecek ilk kurulum APK'ları. Şu anda 100 adetle sınırlı. |
additionalApks[] |
Doğrudan test edilenlere ek olarak yüklenecek APK'lar. Bu uygulamalar, test edilen uygulama tamamlandıktan sonra yüklenecek. Şu anda 100 adetle sınırlı. |
account |
Test süresince cihazın bu hesaba giriş yapması gerekir. |
networkProfile |
Testi çalıştırmak için kullanılan ağ trafiği profili. Kullanılabilir ağ profilleri, TestEnvironmentDiscoveryService.GetTestEnvironmentCatalog yöntemi çağrılırken NETWORK_CONFIGURATION ortam türü kullanılarak sorgulanabilir. |
environmentVariables[] |
Test için ayarlanacak ortam değişkenleri (yalnızca araç testleri için geçerlidir). |
systrace |
Çalıştırma için Systrace yapılandırması. Desteği sonlandırıldı: Systrace, 01.01.2020 tarihinde kullanımdan kaldırılan Python 2 kullandı. Systrace artık Cloud Testing API'de desteklenmiyor ve sonuçlarda Systrace dosyası sağlanmayacak. |
dontAutograntPermissions |
Uygulama yükleme sırasında tüm çalışma zamanı izinlerinin verilip verilmeyeceğini belirler |
CihazDosyası
Tek bir cihaz dosyası açıklaması.
JSON gösterimi |
---|
{ // Union field |
Alanlar | |
---|---|
Birleştirme alanı device_file . Zorunlu. device_file şunlardan yalnızca biri olabilir: |
|
obbFile |
Opak ikili blob dosyasına başvuru. |
regularFile |
Normal bir dosyaya referans. |
ObbDosya
Test başlamadan önce cihaza yüklenecek opak bir ikili blob dosyası.
JSON gösterimi |
---|
{
"obbFileName": string,
"obb": {
object ( |
Alanlar | |
---|---|
obbFileName |
Zorunlu. Android tarafından belirtilen biçime uygun olması gereken OBB dosya adı (ör. [main|patch].0300110.com.example.android.obb, cihazdaki <shared-storage>/Android/obb/<paket-adı>/ klasörüne yüklenecek. |
obb |
Zorunlu. Cihaza yüklenecek Opaque Binary Blob (OBB) dosyaları. |
DosyaReferansı
Kullanıcı girişleri için kullanılan bir dosyaya referans.
JSON gösterimi |
---|
{ // Union field |
Alanlar | |
---|---|
Birleştirme alanı file . Zorunlu. Dosya referansı. file şunlardan yalnızca biri olabilir: |
|
gcsPath |
Google Cloud Storage'daki bir dosyanın yolu. Örnek: gs://build-app-1414623860166/app%40debug-unaligned.apk Bu yolların URL olarak kodlanması beklenir (yüzde kodlaması) |
NormalDosya
Test başlamadan önce cihaza yüklenecek bir dosya veya dizin.
JSON gösterimi |
---|
{
"content": {
object ( |
Alanlar | |
---|---|
content |
Zorunlu. Kaynak dosya. |
devicePath |
Zorunlu. İçeriğin cihazda nereye yerleştirileceği. Mutlak, izin verilenler listesine eklenmiş bir yol olmalıdır. Dosya mevcutsa değiştirilir. Aşağıdaki cihaz tarafı dizinler ve bunların tüm alt dizinleri izin verilenler listesine eklenmiştir: ${EXTERNAL_STORAGE}, /sdcard veya /storage ${ANDROID_DATA}/local/tmp veya /data/local/tmp Bu dizin ağaçlarının dışında bir yol belirtmek geçersiz. Yollar /sdcard ve /data kullanılabilir hale getirilir ve örtülü yol değişiklikleri olarak değerlendirilir. Ör. Belirli bir cihazdaki /sdcard harici depolama alanıyla eşleşmezse sistem, bunu söz konusu cihazın harici depolama yolu önekiyle değiştirir ve dosyayı oraya kopyalar. Cihazdaki dosyalara taşınabilir bir şekilde erişmek için uygulamada Environment API'nin kullanılması ve test kodunun kullanılması önemle tavsiye edilir. |
APK
Yüklenecek Android paketi dosyası.
JSON gösterimi |
---|
{
"location": {
object ( |
Alanlar | |
---|---|
location |
Test başlamadan önce cihaza yüklenecek bir APK'nın yolu. |
packageName |
Yüklenecek APK'nın Java paketi. Değer, uygulamanın manifest dosyası incelenerek belirlenir. |
Hesap
Bir hesabı ve hesaba nasıl giriş yapılacağını tanımlar.
JSON gösterimi |
---|
{ // Union field |
Alanlar | |
---|---|
Birleştirme alanı account_type . Zorunlu. Ne için olduğuna (ör. Google) ve giriş mekanizmasına (ör. kullanıcı adı ve şifre) bağlı olarak hesap türü. account_type şunlardan yalnızca biri olabilir: |
|
googleAuto |
Otomatik Google giriş hesabı. |
GoogleAuto
Bu türde alan yok.
Google hesabına otomatik girişi etkinleştirir. Hizmet, ayarlanırsa otomatik olarak bir Google test hesabı oluşturur ve testi yürütmeden önce bu hesabı cihaza ekler. Test hesaplarının yeniden kullanılabileceğini unutmayın. Birçok uygulama, cihazda bir hesap olduğunda tüm işlevlerini gösterir. Oluşturulan bu hesaplarla cihaza giriş yapmak, daha fazla işlevin test edilmesine olanak tanır.
OrtamDeğişkeni
Teste ortam değişkeni olarak iletilen bir anahtar/değer çifti.
JSON gösterimi |
---|
{ "key": string, "value": string } |
Alanlar | |
---|---|
key |
Ortam değişkeni anahtarı. |
value |
Ortam değişkeninin değeri. |
Sistem Kurulumu
JSON gösterimi |
---|
{ "durationSeconds": integer } |
Alanlar | |
---|---|
durationSeconds |
Saniye cinsinden Systrace süresi. 1 ile 30 saniye arasında olmalıdır. 0, sistem izlemeyi devre dışı bırakır. |
iOSTestKurulumu
Testi çalıştırmadan önce iOS cihazın nasıl kurulacağıyla ilgili açıklama.
JSON gösterimi |
---|
{ "networkProfile": string, "additionalIpas": [ { object ( |
Alanlar | |
---|---|
networkProfile |
Testi çalıştırmak için kullanılan ağ trafiği profili. Kullanılabilir ağ profilleri, TestEnvironmentDiscoveryService.GetTestEnvironmentCatalog yöntemi çağrılırken NETWORK_CONFIGURATION ortam türü kullanılarak sorgulanabilir. |
additionalIpas[] |
Doğrudan test edilenlere ek olarak yüklenecek iOS uygulamaları. |
pushFiles[] |
Teste başlamadan önce cihaza aktarılacak dosyaların listesi. |
pullDirectories[] |
Testin sonunda Cloud Storage'a yüklenecek cihazdaki dizinlerin listesi. Dizinler, paylaşılan bir dizinde (/private/var/mobile/Media gibi) veya paket kimliği belirtilerek uygulamanın dosya sistemi içindeki erişilebilir bir dizinde (/Documents gibi) olmalıdır. |
iOSCihazDosyası
Test başlamadan önce cihaza yüklenecek bir dosya veya dizin.
JSON gösterimi |
---|
{
"content": {
object ( |
Alanlar | |
---|---|
content |
Kaynak dosya |
bundleId |
Bu dosyanın bulunduğu uygulamanın paket kimliği. iOS uygulamaları kendi dosya sistemlerini korumalı alana alır. Bu nedenle, uygulama dosyaları cihazda hangi uygulamanın yüklü olduğunu belirtmelidir. |
devicePath |
Cihazdaki dosyanın, uygulamanın korumalı alana alınmış dosya sistemi içindeki konumu |
Android Enstrümantasyon Testi
Bir Android bileşenini normal yaşam döngüsünden bağımsız olarak kontrol edebilen Android uygulaması testi. Android araç testleri, bir uygulama APK'sını çalıştırır ve APK'yı, sanal veya fiziksel bir AndroidDevice üzerinde aynı işlem içinde test eder. Ayrıca, seçilen belirli araç çerçevesine göre değişebilen com.google.GoogleTestRunner gibi bir test çalıştırıcı sınıfı da belirtirler.
Android testi türleri hakkında daha fazla bilgi edinmek için https://developer.android.com/training/testing/fundamentals sayfasına bakın.
JSON gösterimi |
---|
{ "testApk": { object ( |
Alanlar | |
---|---|
testApk |
Zorunlu. Yürütülecek test kodunu içeren APK. |
appPackageId |
Test edilen uygulamanın Java paketi. Varsayılan değer, uygulamanın manifest dosyası incelenerek belirlenir. |
testPackageId |
Testin yürütüleceği Java paketi. Varsayılan değer, uygulamanın manifest dosyası incelenerek belirlenir. |
testRunnerClass |
InstrumentationTestRunner sınıfı. Varsayılan değer, uygulamanın manifest dosyası incelenerek belirlenir. |
testTargets[] |
Her hedef, aşağıdaki biçimlerden birinde paket adı veya sınıf adıyla tam olarak nitelenmiş olmalıdır:
Boşsa modüldeki tüm hedefler çalıştırılır. |
orchestratorOption |
Her testin kendi araç çağrısı içinde Android Test Orkestratörü ile çalıştırılıp çalıştırılmayacağı seçeneği. ** Orkestratör, yalnızca AndroidJUnitRunner sürüm 1.1 veya daha yeni sürümlerle uyumludur. ** Orkestratör aşağıdaki avantajları sunar:
Android Test Orchestrator hakkında daha fazla bilgi için https://developer.android.com/training/testing/junit-runner.html#using-android-test-orchestrator sayfasına göz atın. Politika ayarlanmazsa test, düzenleyici olmadan çalıştırılır. |
shardingOption |
Birden fazla parçada testleri paralel olarak çalıştırma seçeneği. |
Birleştirme alanı app_under_test . Zorunlu. app_under_test şunlardan yalnızca biri olabilir: |
|
appApk |
Test edilen uygulamanın APK'sı. |
appBundle |
Test edilen uygulama için bir çoklu apk uygulama paketi. |
AppBundle
BundleConfig.pb dosyası, temel modül dizini, sıfır veya daha fazla dinamik özellik modülü dizini içeren Android App Bundle dosya biçimi.
App Bundle oluşturma konusunda yardım için https://developer.android.com/guide/app-bundle/build adresini ziyaret edin.
JSON gösterimi |
---|
{ // Union field |
Alanlar | |
---|---|
Birleştirme alanı bundle . Zorunlu. Paket konumu bilgileri. bundle şunlardan yalnızca biri olabilir: |
|
bundleLocation |
Test edilen uygulama paketini temsil eden .aab dosyası. |
Orkestratör Seçeneği
Testin nasıl yürütüleceğini belirtir.
Sıralamalar | |
---|---|
ORCHESTRATOR_OPTION_UNSPECIFIED |
Varsayılan değer: Modu sunucu seçer. Şu anda testin düzenleyici olmadan çalışacağı anlamına gelir. Gelecekte tüm araç testleri, orkestratör ile çalıştırılacaktır. Orkestratörü kullanmak, sunduğu tüm avantajlardan dolayı önemle tavsiye edilir. |
USE_ORCHESTRATOR |
Orkestratörü kullanarak test çalıştırın. ** Yalnızca AndroidJUnitRunner sürüm 1.1 veya daha yeni sürümlerle uyumludur! ** Önerilir. |
DO_NOT_USE_ORCHESTRATOR |
Orkestratörü kullanmadan testi çalıştırın. |
Parçalama Seçeneği
Parçalamayı etkinleştirme seçenekleri.
JSON gösterimi |
---|
{ // Union field |
Alanlar | |
---|---|
Birleştirme alanı
|
|
uniformSharding |
Toplam parça sayısına göre test durumlarını eşit şekilde parçalar. |
manualSharding |
Test durumlarını belirtilen paket, sınıf ve/veya yöntem gruplarına ayırır. |
smartSharding |
Parçalar, önceki test durumu zamanlama kayıtlarına göre test edilir. |
Tekdüzen Parçalama
Toplam parça sayısına göre test durumlarını eşit şekilde parçalar.
Araç testleri için bu değer "-e numShard" olarak çevrilir ve "-e shardIndex" AndroidJUnitRunner bağımsız değişkenleri. Tek tip parçalama etkinleştirildiğinde, bu parçalama bağımsız değişkenlerinden birinin environmentVariables
aracılığıyla belirtilmesi geçersiz olur.
AndroidJUnitRunner'ın kullandığı parçalama mekanizmasına dayalı olarak, test senaryolarının tüm parçalara eşit olarak dağıtılacağı garanti edilmez.
JSON gösterimi |
---|
{ "numShards": integer } |
Alanlar | |
---|---|
numShards |
Zorunlu. Oluşturulacak toplam kırık sayısı. Bu değer, her zaman test vakalarının toplam sayısından büyük olmayan bir pozitif sayı olmalıdır. Bir veya daha fazla fiziksel cihaz seçtiğinizde kırık sayısı <= 50 olmalıdır. Bir veya daha fazla ARM sanal cihazı seçtiğinizde bu değer en az 200 olmalıdır. Yalnızca x86 sanal cihazları seçtiğinizde bu sayı en fazla 500 olmalıdır. |
Manuel Parçalama
Test durumlarını belirtilen paket, sınıf ve/veya yöntem gruplarına ayırır.
Manuel parçalama etkinken, ortamDeğişkenleri veya InstrumentationTest aracılığıyla test hedeflerinin belirtilmesi geçersizdir.
JSON gösterimi |
---|
{
"testTargetsForShard": [
{
object ( |
Alanlar | |
---|---|
testTargetsForShard[] |
Zorunlu. Manuel olarak oluşturulan her kırık için çalıştırılacak paket, sınıf ve/veya test yöntemi grubu. Bu alan mevcutsa en az bir kırık belirtmelisiniz. Bir veya daha fazla fiziksel cihaz seçtiğinizde, tekrarlanan testTargetsForShard sayısı <= 50 olmalıdır. Bir veya daha fazla ARM sanal cihazı seçtiğinizde bu değer en az 200 olmalıdır. Yalnızca x86 sanal cihazları seçtiğinizde bu sayı en fazla 500 olmalıdır. |
Dark Hedefli Test
Bir kırık için hedefleri test edin.
JSON gösterimi |
---|
{ "testTargets": [ string ] } |
Alanlar | |
---|---|
testTargets[] |
Her kırık için çalıştırılacak paket, sınıf ve/veya test yöntemi grubu. Hedeflerin AndroidJUnitRunner bağımsız değişken biçiminde belirtilmesi gerekir. Örneğin, "paket com.my.packages" "class com.my.package.MyClass". testTarget sayısı 0'dan büyük olmalıdır. |
Akıllı Parçalama
Parçalar, önceki test durumu zamanlama kayıtlarına göre test edilir.
JSON gösterimi |
---|
{ "targetedShardDuration": string } |
Alanlar | |
---|---|
targetedShardDuration |
Bir parça içinde yapılması gereken testlerin süresi. Varsayılan: 300 saniye (5 dakika). İzin verilen minimum süre: 120 saniye (2 dakika). Parça sayısı, maksimum parça sınırına kadar (aşağıda açıklanmıştır) zamana göre dinamik olarak ayarlanır. Her kırık için en az bir test durumu garanti edilmesi amacıyla, kırık sayısı test durumu sayısını aşmayacaktır. Parça süresi şu durumlarda aşılır:
Akıllı parçalama, test durumu geçmişini ve doğru olmayabilecek varsayılan süreleri kullandığından parça süresi garanti edilmez. Test durumu zamanlama kayıtlarını bulmaya ilişkin kurallar şunlardır:
Gerçek kırık süresi hedeflenen parça süresini aşabileceğinden, hedeflenen değeri izin verilen maksimum test zaman aşımından en az 5 dakika (fiziksel cihazlar için 45 dakika ve sanal cihazlar için 60 dakika) daha az olarak ayarlamanızı veya belirlediğiniz özel test zaman aşımı değerini kullanmanızı öneririz. Bu yaklaşım, tüm testler tamamlanmadan önce kırığın iptal edilmesini önler. Maksimum kırık sayısı için bir sınır olduğunu unutmayın. Bir veya daha fazla fiziksel cihaz seçtiğinizde kırık sayısı <= 50 olmalıdır. Bir veya daha fazla ARM sanal cihazı seçtiğinizde bu değer en az 200 olmalıdır. Yalnızca x86 sanal cihazları seçtiğinizde bu sayı en fazla 500 olmalıdır. Parça başına en az bir test durumunu garanti etmek için kırık sayısı, test durumu sayısını aşmayacaktır. Oluşturulan her kırık, günlük test kotasına dahil edilir. En fazla dokuz kesir basamağı olan ve " |
AndroidRoboTest
Bir Android uygulamasını sanal veya fiziksel Android cihazda keşfeden, uygulamanın nedenlerini ve kilitlenmeleri bulmaya çalışan bir Android uygulaması testi.
JSON gösterimi |
---|
{ "appPackageId": string, "appInitialActivity": string, "maxDepth": integer, "maxSteps": integer, "roboDirectives": [ { object ( |
Alanlar | |
---|---|
appPackageId |
Test edilen uygulamanın Java paketi. Varsayılan değer, uygulamanın manifest dosyası incelenerek belirlenir. |
appInitialActivity |
Uygulamayı başlatmak için kullanılması gereken ilk etkinlik. |
maxDepth |
Robo'nun keşfedebileceği geçiş yığınının maksimum derinliği. Robo'nun ilk etkinlikten sonra uygulamayı keşfetmesi için en az 2 yaşında olması gerekir. Varsayılan değer 50'dir. |
maxSteps |
Robo'nun yürütebileceği maksimum adım sayısı. Varsayılan değerde bir sınır yoktur. |
roboDirectives[] |
Robo'nun tarama sırasında uygulaması gereken bir dizi yönerge. Bu, kullanıcıların taramayı özelleştirmesine olanak tanır. Örneğin, bir test hesabının kullanıcı adı ve şifresi sağlanabilir. |
roboMode |
Robo'nun çalışması gereken mod. Çoğu istemci, sunucunun bu alanı otomatik olarak doldurmasına izin verir. |
roboScript |
Robo'nun tarama için giriş olarak gerçekleştirmesi gereken bir dizi işlem içeren bir JSON dosyası. |
startingIntents[] |
Tarama için uygulamayı başlatmak için kullanılan amaçlar. Herhangi bir etkinlik sağlanmazsa ana başlatıcı etkinliği başlatılır. Bunlardan bazıları sağlanırsa yalnızca sağlananlar başlatılır (ana başlatıcı etkinliği açık bir şekilde sağlanmalıdır). |
Birleştirme alanı app_under_test . Zorunlu. app_under_test şunlardan yalnızca biri olabilir: |
|
appApk |
Test edilen uygulamanın APK'sı. |
appBundle |
Test edilen uygulama için bir çoklu apk uygulama paketi. |
RoboDirective
Tarama sırasında karşılaşılması durumunda Robo'yu belirli bir kullanıcı arayüzü öğesiyle etkileşimde bulunmaya yönlendirir. Robo şu anda metin girişi veya öğe tıklaması yapabilmektedir.
JSON gösterimi |
---|
{
"resourceName": string,
"inputText": string,
"actionType": enum ( |
Alanlar | |
---|---|
resourceName |
Zorunlu. Hedef kullanıcı arayüzü öğesinin Android kaynak adı. Örneğin, Java'da: xml'deki R.string.foo: @string/foo Yalnızca "foo" bir gerekliliktir. Referans belge: https://developer.android.com/guide/topics/resources/accessing-resources.html |
inputText |
Robo'nun ayarlayacağı metin. Boş bırakılırsa yönerge, resourceName ile eşleşen öğede bir TIKLAMA olarak değerlendirilir. |
actionType |
Zorunlu. Robo'nun belirtilen öğe üzerinde gerçekleştirmesi gereken işlem türü. |
RoboActionType
Robo'nun kullanıcı arayüzü öğelerinde gerçekleştirebileceği işlemler.
Sıralamalar | |
---|---|
ACTION_TYPE_UNSPECIFIED |
KULLANMAYIN. Sadece proto sürümü oluşturma için. |
SINGLE_CLICK |
Robo'nun belirtilen öğeyi tıklamasını doğrudan sağlayın. Belirtilen öğe tıklanabilir değilse işlem yok. |
ENTER_TEXT |
Robo'nun belirtilen öğede metin girmesini doğrudan. Belirtilen öğe etkin değilse veya metin girişine izin vermiyorsa işlem yok. |
IGNORE |
Robo'nun belirli bir öğeyle etkileşimleri yoksaymasına izin verin. |
RoboMode
Robo'nun çalışması gereken mod.
Sıralamalar | |
---|---|
ROBO_MODE_UNSPECIFIED |
Bu, sunucunun modu seçmesi gerektiği anlamına gelir. Önerilir. |
ROBO_VERSION_1 |
Robo'yu uygulamayı yeniden imzalamadan UIAutomator'a özel modda çalıştırır |
ROBO_VERSION_2 |
Robo'yu standart Espresso'da UIAutomator yedeğiyle çalıştırır |
RoboStartIntent
Taranacak başlangıç etkinliklerini belirtmek için kullanılan mesaj.
JSON gösterimi |
---|
{ "timeout": string, // Union field |
Alanlar | |
---|---|
timeout |
Her amaç için saniye cinsinden zaman aşımı. En fazla dokuz kesir basamağı olan ve " |
Birleştirme alanı starting_intent . Zorunlu. Aktivite başlatmak için amaç ayrıntıları. starting_intent şunlardan yalnızca biri olabilir: |
|
launcherActivity |
Ana başlatıcı etkinliğini başlatan bir intent. |
startActivity |
Belirli ayrıntılarla etkinlik başlatan intent. |
noActivity |
Başlangıç etkinliğini atlar |
LauncherActivityIntent
Bu türde alan yok.
Ana başlatıcı etkinliğini başlatan niyeti belirtir.
StartActivityIntent
İşlem, URI ve kategorilerle belirtilen başlangıç amacı.
JSON gösterimi |
---|
{ "action": string, "uri": string, "categories": [ string ] } |
Alanlar | |
---|---|
action |
İşlem adı. START_ACTIVITY için gereklidir. |
uri |
İşlemin URI'si. |
categories[] |
Niyete göre belirlenecek amaç kategorileri. |
Etkinlik Amacı Yok
Bu türde alan yok.
Başlangıç etkinliğini atlar
AndroidTestDöngüsü
Test Döngüsü içeren bir Android uygulaması testi. <intent-name> amacı Oyunlar, şimdilik bu API'nin tek kullanıcısı olduğundan örtülü olarak eklenecektir.
JSON gösterimi |
---|
{ "appPackageId": string, "scenarios": [ integer ], "scenarioLabels": [ string ], // Union field |
Alanlar | |
---|---|
appPackageId |
Test edilen uygulamanın Java paketi. Varsayılan değer, uygulamanın manifest dosyası incelenerek belirlenir. |
scenarios[] |
Test sırasında çalıştırılması gereken senaryoların listesi. Varsayılan değer, uygulamanın manifest dosyasından türetilen tüm test döngüleridir. |
scenarioLabels[] |
Test sırasında çalıştırılması gereken senaryo etiketlerinin listesi. Senaryo etiketleri, uygulamanın manifest dosyasında tanımlanan etiketlerle eşleşmelidir. Örneğin, Player_experience ve com.google.test.loops.player_experience, manifest dosyasında com.google.test.loops.player_experience adıyla etiketlenen tüm döngüleri yürütmeye ekler. Senaryolar, senaryolar alanında da belirtilebilir. |
Birleştirme alanı app_under_test . Zorunlu. Test edilecek Android paketi. app_under_test şunlardan yalnızca biri olabilir: |
|
appApk |
Test edilen uygulamanın APK'sı. |
appBundle |
Test edilen uygulama için bir çoklu apk uygulama paketi. |
IosXcTesti
XCTest çerçevesini kullanan bir iOS uygulaması testi. Xcode, test spesifikasyonu (bağımsız değişkenler, test yöntemleri vb.) içeren bir .xctestrun dosyası oluşturan "test için derle" seçeneğini destekler. Bu test türü, .xctestrun dosyasını ve testleri çalıştırmak için gerekli tüm ikili programları içeren Build/Products dizininin ilgili içeriğini içeren bir ZIP dosyasını kabul eder.
JSON gösterimi |
---|
{ "testsZip": { object ( |
Alanlar | |
---|---|
testsZip |
Zorunlu. .xctestrun dosyasını ve DerivedData/Build/Products dizininin içeriğini içeren .zip. xctestrun alanı belirtilirse bu zip dosyasındaki .xctestrun dosyası yoksayılır. |
xctestrun |
Testler zip dosyasındaki .xctestrun dosyasını geçersiz kılacak .xctestrun dosyası. .xctestrun dosyası çalıştırılacak ve/veya yoksayılacak test yöntemlerinin yanı sıra ortam değişkenleri de içerdiğinden, bu yöntem parçalama testleri için yararlı olabilir. Varsayılan değer, test ZIP dosyasından alınır. |
xcodeVersion |
Test için kullanılması gereken Xcode sürümü. Desteklenen seçenekleri almak için TestEnvironmentDiscoveryService hizmetini kullanın. Varsayılan olarak Firebase Test Lab'in desteklediği en son Xcode sürümü kullanılır. |
appBundleId |
Yalnızca çıkış. Test edilen uygulamanın paket kimliği. |
testSpecialEntitlements |
Özel uygulama yararlanma haklarını test etme seçeneği. Bunun ayarlanması, uygulamayı açık bir uygulama tanımlayıcısıyla özel yararlanma haklarına sahip olarak yeniden imzalar. Şu anda aps ortamından yararlanma hakkının test edilmesini desteklemektedir. |
iOSTestDöngüsü
Bir veya daha fazla oyun döngüsü senaryosunu uygulayan iOS uygulaması testi. Bu test türü, arşivlenmiş bir uygulamayı (.ipa dosyası) ve uygulamada sırayla yürütülecek tam sayı senaryolardan oluşan bir listeyi kabul eder.
JSON gösterimi |
---|
{
"appIpa": {
object ( |
Alanlar | |
---|---|
appIpa |
Zorunlu. Test edilecek uygulamanın .ipa numarası. |
scenarios[] |
Test sırasında çalıştırılması gereken senaryoların listesi. Belirtilmemişse varsayılan olarak tek senaryo 0'dır. |
appBundleId |
Yalnızca çıkış. Test edilen uygulamanın paket kimliği. |
IosRoboTest
iOS cihazdaki bir iOS uygulamasını inceleyen test.
JSON gösterimi |
---|
{ "appIpa": { object ( |
Alanlar | |
---|---|
appIpa |
Zorunlu. Bu dosyada depolanan ipa, testi çalıştırmak için kullanılmalıdır. |
appBundleId |
Test altında uygulama için paket kimliği. Bu, uygulamanın "Info.plist" dosyası incelenerek belirlenir dosyası olarak kaydedebilirsiniz. |
roboScript |
Taramayı özelleştirmek için kullanılan isteğe bağlı bir Roboscript. Robo komut dosyaları hakkında daha fazla bilgi için https://firebase.google.com/docs/test-lab/android/robo-scripts-reference adresine göz atın. |
Ortam Matrisi
Testin yürütüleceği ortamların matrisi.
JSON gösterimi |
---|
{ // Union field |
Alanlar | |
---|---|
Birleştirme alanı environment_matrix . Zorunlu. Ortam matrisi. environment_matrix şunlardan yalnızca biri olabilir: |
|
androidMatrix |
Android cihazların matrisi. |
androidDeviceList |
Android cihazların listesi; test yalnızca belirtilen cihazlarda çalıştırılır. |
iosDeviceList |
iOS cihazların listesi. |
AndroidMatrisi
Android cihaz yapılandırması permütasyonları kümesi, belirtilen eksenlerin çapraz çarpımı ile tanımlanır. Belirtilen AndroidMatrix, dahili olarak bir dizi AndroidDevices olarak genişletilecektir.
Yalnızca desteklenen permütasyonlar örneklendirilir. Geçersiz permütasyonlar (ör. uyumsuz modeller/sürümler) yoksayılır.
JSON gösterimi |
---|
{ "androidModelIds": [ string ], "androidVersionIds": [ string ], "locales": [ string ], "orientations": [ string ] } |
Alanlar | |
---|---|
androidModelIds[] |
Zorunlu. Kullanılacak Android cihaz grubunun kimlikleri. Desteklenen seçenekleri almak için TestEnvironmentDiscoveryService hizmetini kullanın. |
androidVersionIds[] |
Zorunlu. Kullanılacak Android OS sürümü grubunun kimlikleri. Desteklenen seçenekleri almak için TestEnvironmentDiscoveryService hizmetini kullanın. |
locales[] |
Zorunlu. Test cihazının test için etkinleştireceği yerel ayarlar grubu. Desteklenen seçenekleri almak için TestEnvironmentDiscoveryService hizmetini kullanın. |
orientations[] |
Zorunlu. Test edilecek yön grubu. Desteklenen seçenekleri almak için TestEnvironmentDiscoveryService hizmetini kullanın. |
AndroidCihazListesi
Testin yürütüleceği Android cihaz yapılandırmalarının listesi.
JSON gösterimi |
---|
{
"androidDevices": [
{
object ( |
Alanlar | |
---|---|
androidDevices[] |
Zorunlu. Android cihazların listesi. |
iOSCihaz Listesi
Testin yürütüleceği iOS cihaz yapılandırmaları listesi.
JSON gösterimi |
---|
{
"iosDevices": [
{
object ( |
Alanlar | |
---|---|
iosDevices[] |
Zorunlu. iOS cihazların listesi. |
iOSCihazı
Tek bir iOS cihazı.
JSON gösterimi |
---|
{ "iosModelId": string, "iosVersionId": string, "locale": string, "orientation": string } |
Alanlar | |
---|---|
iosModelId |
Zorunlu. Kullanılacak iOS cihazın kimliği. Desteklenen seçenekleri almak için TestEnvironmentDiscoveryService hizmetini kullanın. |
iosVersionId |
Zorunlu. Kullanılacak iOS ana yazılım sürümünün kimliği. Desteklenen seçenekleri almak için TestEnvironmentDiscoveryService hizmetini kullanın. |
locale |
Zorunlu. Test için kullanılan test cihazının yerel ayarı. Desteklenen seçenekleri almak için TestEnvironmentDiscoveryService hizmetini kullanın. |
orientation |
Zorunlu. Test sırasında cihazın yönü. Desteklenen seçenekleri almak için TestEnvironmentDiscoveryService hizmetini kullanın. |
Test Yürütme
Tek bir ortamda yürütülen tek bir test.
JSON gösterimi |
---|
{ "id": string, "matrixId": string, "projectId": string, "testSpecification": { object ( |
Alanlar | |
---|---|
id |
Yalnızca çıkış. Hizmet tarafından ayarlanan benzersiz kimlik. |
matrixId |
Yalnızca çıkış. İçeren TestMatrix'in kimliği. |
projectId |
Yalnızca çıkış. Test yürütmenin sahibi olan bulut projesi. |
testSpecification |
Yalnızca çıkış. Test nasıl çalıştırılır? |
shard |
Yalnızca çıkış. Kırıkla ilgili ayrıntılar. |
environment |
Yalnızca çıkış. Ana makinelerin nasıl yapılandırıldığı. |
state |
Yalnızca çıkış. Test işleminin mevcut ilerlemesini (ör. TAMAMLANDI). |
toolResultsStep |
Yalnızca çıkış. Bu yürütmenin sonuçlarının yazıldığı yerdir. |
timestamp |
Yalnızca çıkış. Bu test yürütmesinin ilk oluşturulduğu zaman. RFC3339 UTC "Zulu" zaman damgası biçiminde olmalıdır. Örnekler: |
testDetails |
Yalnızca çıkış. Çalışan testle ilgili ek bilgiler. |
Kırık
Yalnızca çıkış. Kırıkla ilgili ayrıntılar.
JSON gösterimi |
---|
{
"shardIndex": integer,
"numShards": integer,
"testTargetsForShard": {
object ( |
Alanlar | |
---|---|
shardIndex |
Yalnızca çıkış. Tüm kırıklar arasındaki kırığın dizini. |
numShards |
Yalnızca çıkış. Toplam kırık sayısı. |
testTargetsForShard |
Yalnızca çıkış. Her kırık için hedefleri test edin. Yalnızca manuel parçalama için ayarlanır. |
estimatedShardDuration |
Yalnızca çıkış. Varsa önceki test durumu zamanlama kayıtlarına göre tahmini parça süresi. En fazla dokuz kesir basamağı olan ve " |
Ortam
Testin çalıştırıldığı ortam.
JSON gösterimi |
---|
{ // Union field |
Alanlar | |
---|---|
Birleştirme alanı environment . Zorunlu. Ortam. environment şunlardan yalnızca biri olabilir: |
|
androidDevice |
Android testiyle kullanılması gereken bir Android cihaz |
iosDevice |
iOS testiyle kullanılması gereken bir iOS cihazı. |
Test Durumu
Bir test yürütmesinin veya matrisinin durumu (ilerleme durumu).
Sıralamalar | |
---|---|
TEST_STATE_UNSPECIFIED |
Kullanmayın. Sadece proto sürümü oluşturma için. |
VALIDATING |
Yürütme veya matris doğrulanıyor. |
PENDING |
Yürütme veya matris, kaynakların kullanılabilir hale gelmesini beklemektedir. |
RUNNING |
Yürütme şu anda işleniyor. Yalnızca yürütmede ayarlanabilir. |
FINISHED |
Yürütme veya matris normal şekilde sonlandı. Bir matriste bu, matris düzeyinde işlemenin normal bir şekilde tamamlandığı ancak bağımsız yürütmelerin HATA durumunda olabileceği anlamına gelir. |
ERROR |
Bir altyapı hatasıyla karşılaştığı için yürütme veya matris durduruldu. |
UNSUPPORTED_ENVIRONMENT |
Yürütme, desteklenmeyen bir ortama karşılık geldiği için çalıştırılmadı. Yalnızca yürütmede ayarlanabilir. |
INCOMPATIBLE_ENVIRONMENT |
Sağlanan girişler, istenen ortamla uyumlu olmadığı için yürütme çalıştırılamadı. Örnek: istenen AndroidVersion, APK'nın minSdkVersion değerinden daha düşük Yalnızca yürütmede ayarlanabilir. |
INCOMPATIBLE_ARCHITECTURE |
Sağlanan girişler, istenen mimariyle uyumlu olmadığı için yürütme çalıştırılamadı. Örnek: istenen cihaz, sağlanan APK'da yerel kodun çalıştırılmasını desteklemiyor Yalnızca yürütmede ayarlanabilir. |
CANCELLED |
Kullanıcı, yürütme işlemini iptal etti. Yalnızca yürütmede ayarlanabilir. |
INVALID |
Sağlanan girişler geçerli olmadığı için yürütme veya matris çalıştırılmadı. Örnekler: giriş dosyası beklenen türde değil, bozuk/bozuk veya kötü amaçlı yazılım olarak işaretlenmiş |
AraçSonuçlarıAdımı
Araç sonuçları adım kaynağını temsil eder.
Bu işlem, TestExecution sonuçlarını içerir.
JSON gösterimi |
---|
{ "projectId": string, "historyId": string, "executionId": string, "stepId": string } |
Alanlar | |
---|---|
projectId |
Yalnızca çıkış. Araç sonuçları adımının sahibi olan bulut projesi. |
historyId |
Yalnızca çıkış. Araç sonuç geçmişi kimliği. |
executionId |
Yalnızca çıkış. Araç sonuçları yürütme kimliği. |
stepId |
Yalnızca çıkış. Araç sonuçları adım kimliği. |
Test Ayrıntıları
Çalışan testin ilerleme durumuyla ilgili ek ayrıntılar.
JSON gösterimi |
---|
{ "progressMessages": [ string ], "errorMessage": string } |
Alanlar | |
---|---|
progressMessages[] |
Yalnızca çıkış. Testteki ilerlemenin kullanıcılar tarafından okunabilen, ayrıntılı açıklamaları. Örneğin: "Cihazın temel hazırlığı yapılıyor", "Test Başlatılıyor". Yürütme işlemi sırasında, progressMessages'ın sonuna yeni veriler eklenebilir. |
errorMessage |
Yalnızca çıkış. TestState ERROR ise bu dizede hatayla ilgili kullanıcılar tarafından okunabilir ayrıntılar bulunur. |
SonuçDepolama
Test çalıştırma sonuçlarının saklandığı konumlar.
JSON gösterimi |
---|
{ "googleCloudStorage": { object ( |
Alanlar | |
---|---|
googleCloudStorage |
Zorunlu. |
toolResultsHistory |
Sonuçların yazıldığı araç sonuçlarının yürütülmesini içeren araç sonuç geçmişi. Sağlanmazsa hizmet uygun bir değer seçer. |
toolResultsExecution |
Yalnızca çıkış. Araç, sonuçların yazıldığı şekilde yürütmeyi tamamlar. |
resultsUrl |
Yalnızca çıkış. Firebase Web Konsolu'ndaki sonuçların URL'si. |
GoogleBulutDepolama
Google Cloud Storage (GCS) içindeki depolama konumu.
JSON gösterimi |
---|
{ "gcsPath": string } |
Alanlar | |
---|---|
gcsPath |
Zorunlu. GCS'de, bu testin sonuçlarını içerecek olan dizinin yolu. İstekte bulunan kullanıcının, sağlanan yoldaki pakete yazma erişimi olmalıdır. |
AraçSonuçlarıGeçmişi
Araç sonuçları geçmişi kaynağını temsil eder.
JSON gösterimi |
---|
{ "projectId": string, "historyId": string } |
Alanlar | |
---|---|
projectId |
Zorunlu. Araç sonuç geçmişinin sahibi olan bulut projesi. |
historyId |
Zorunlu. Araç sonuç geçmişi kimliği. |
ToolResultsYürütme
Araç sonuçları yürütme kaynağını temsil eder.
Bu, TestMatrix'in sonuçlarını içerir.
JSON gösterimi |
---|
{ "projectId": string, "historyId": string, "executionId": string } |
Alanlar | |
---|---|
projectId |
Yalnızca çıkış. Araç sonuçlarının yürütülmesine sahip olan bulut projesi. |
historyId |
Yalnızca çıkış. Araç sonuç geçmişi kimliği. |
executionId |
Yalnızca çıkış. Araç sonuçları yürütme kimliği. |
InvalidMatrixDetails (Geçersiz Matris ayrıntıları)
Bir Matrisin GEÇERSİZ olarak kabul edilmesinin ayrıntılı nedeni.
Sıralamalar | |
---|---|
INVALID_MATRIX_DETAILS_UNSPECIFIED |
Kullanmayın. Sadece proto sürümü oluşturma için. |
DETAILS_UNAVAILABLE |
Matris GEÇERSİZ, ancak başka ayrıntı yok. |
MALFORMED_APK |
Girilen uygulama APK'sı ayrıştırılamadı. |
MALFORMED_TEST_APK |
Giriş testi APK'sı ayrıştırılamadı. |
NO_MANIFEST |
AndroidManifest.xml bulunamadı. |
NO_PACKAGE_NAME |
APK manifest'inde paket adı belirtilmemiş. |
INVALID_PACKAGE_NAME |
APK uygulama kimliği (paket adı olarak da bilinir) geçersiz. https://developer.android.com/studio/build/application-id adresine de bakın |
TEST_SAME_AS_APP |
Test paketi ve uygulama paketi aynıdır. |
NO_INSTRUMENTATION |
Test apk bir araç bildirmiyor. |
NO_SIGNATURE |
Giriş uygulaması apk'sinin imzası yok. |
INSTRUMENTATION_ORCHESTRATOR_INCOMPATIBLE |
Kullanıcı tarafından veya test APK'sının manifest dosyasında belirtilen test çalıştırıcı sınıfı, Android Test Orchestrator ile uyumlu değil. Orkestratör, yalnızca AndroidJUnitRunner sürüm 1.1 veya daha yeni sürümlerle uyumludur. Orkestratör, DO_NOT_USE_ORCHESTRATOR OrchestratorOption kullanılarak devre dışı bırakılabilir. |
NO_TEST_RUNNER_CLASS |
Test APK'sı, kullanıcı tarafından veya manifest dosyasında belirtilen test çalıştırıcı sınıfını içermiyor. Bunun nedeni aşağıdakilerden biri olabilir:
|
NO_LAUNCHER_ACTIVITY |
Ana başlatıcı etkinliği bulunamadı. |
FORBIDDEN_PERMISSIONS |
Uygulama, izin verilmeyen bir veya daha fazla izni beyan ediyor. |
INVALID_ROBO_DIRECTIVES |
Sağlanan roboDirectives'te bir çakışma var. |
INVALID_RESOURCE_NAME |
Sağlanan robo yönergelerinde en az bir geçersiz kaynak adı var |
INVALID_DIRECTIVE_ACTION |
Robo yönergelerinde geçersiz eylem tanımı (ör. tıklama veya yoksayma işleminde bir giriş metin alanı bulunuyor) |
TEST_LOOP_INTENT_FILTER_NOT_FOUND |
Test döngüsü amaç filtresi yok veya sağlanan filtre doğru biçimlendirilmemiş. |
SCENARIO_LABEL_NOT_DECLARED |
İstek, manifest dosyasında bildirilmemiş bir senaryo etiketi içeriyor. |
SCENARIO_LABEL_MALFORMED |
Etiketin değeri ayrıştırılırken hata oluştu. |
SCENARIO_NOT_DECLARED |
İstek, manifest dosyasında beyan edilmeyen bir senaryo numarası içeriyor. |
DEVICE_ADMIN_RECEIVER |
Cihaz yöneticisi uygulamalarına izin verilmiyor. |
MALFORMED_XC_TEST_ZIP |
Sıkıştırılmış XCTest hatalı biçimlendirilmiş. ZIP dosyasında tek bir .xctestrun dosyası ve DerivedData/Build/Products dizininin içeriği bulunmuyordu. |
BUILT_FOR_IOS_SIMULATOR |
Sıkıştırılmış XCTest, fiziksel bir cihaz için değil, iOS simülatörü için oluşturulmuştur. |
NO_TESTS_IN_XC_TEST_ZIP |
.xctestrun dosyası herhangi bir test hedefi belirtmedi. |
USE_DESTINATION_ARTIFACTS |
.xctestrun dosyasında tanımlanan test hedeflerinden biri veya daha fazlası, izin verilmeyen "UseDestinationArtifacts" öğesini belirtiyor. |
TEST_NOT_APP_HOSTED |
Fiziksel cihazlarda çalıştırılan XC testlerinde "IsAppHostedTestBundle" olmalıdır. == "doğru" xctestrun dosyası oluşturun. |
PLIST_CANNOT_BE_PARSED |
XCTest zip dosyasındaki Info.plist dosyası ayrıştırılamadı. |
TEST_ONLY_APK |
APK "testOnly" olarak işaretlenmiş. Kullanımdan kaldırıldı ve şu anda kullanılmıyor. |
MALFORMED_IPA |
IPA girişi ayrıştırılamadı. |
MISSING_URL_SCHEME |
Uygulama, oyun döngüsü URL şemasını kaydetmiyor. |
MALFORMED_APP_BUNDLE |
iOS uygulama paketi (.app) işlenemedi. |
NO_CODE_APK |
APK kod içermiyor. Ayrıca bkz. https://developer.android.com/guide/topics/manifest/application-element.html#code |
INVALID_INPUT_APK |
Sağlanan giriş APK'sının yolu hatalı biçimlendirilmiş, APK dosyası mevcut değil veya kullanıcının APK dosyasına erişim izni yok. |
INVALID_APK_PREVIEW_SDK |
APK, desteklenmeyen bir önizleme SDK'sı için oluşturulmuş |
MATRIX_TOO_LARGE |
Matris çok fazla yürütme işlemi içerecek şekilde genişletildi. |
TEST_QUOTA_EXCEEDED |
Bu matristeki yürütme işlemlerini çalıştırmak için yeterli test kotası yok. |
SERVICE_NOT_ACTIVATED |
Gerekli bir bulut hizmeti API'si etkinleştirilmedi. Şu sayfaya göz atın: https://firebase.google.com/docs/test-lab/android/continuous#requirements |
UNKNOWN_PERMISSION_ERROR |
Bu test çalıştırılırken bilinmeyen bir izin sorunu oluştu. |
Matris Hata Ayrıntıları
Bir matrisle ilgili tek bir hatayı veya sorunu açıklar.
JSON gösterimi |
---|
{ "reason": string, "message": string } |
Alanlar | |
---|---|
reason |
Yalnızca çıkış. Hatanın nedeni. Bu, UPPER_SNAKE_CASE içinde hatanın nedenini tanımlayan sabit bir değerdir. |
message |
Yalnızca çıkış. TestMatrix'teki hatanın nasıl olduğuyla ilgili, kullanıcılar tarafından okunabilen bir mesaj. Ek ayrıntılar ve sorunu düzeltmek için olası seçeneklerle |
SonuçÖzeti
Tamamlanmış bir test matrisinin sonuç özeti.
Sıralamalar | |
---|---|
OUTCOME_SUMMARY_UNSPECIFIED |
Kullanmayın. Sadece proto sürümü oluşturma için. |
SUCCESS |
Test matrisi çalıştırması başarılı oldu. Örneğin:
|
FAILURE |
Çalıştırma başarısız oldu. Örneğin:
|
INCONCLUSIVE |
Beklenmeyen bir hata oluştu. Çalışma yine de başarısız kabul edilmelidir ancak bu geçici bir sorundur ve testin yeniden çalıştırılması başarılı olabilir. |
SKIPPED |
Tüm testler atlandı. Örneğin:
|
Yöntemler |
|
---|---|
|
Test matrisindeki tamamlanmamış test yürütmelerini iptal eder. |
|
Belirtilen özelliklere göre bir test matrisi oluşturur ve çalıştırır. |
|
Oluşturulduktan sonra bir test matrisinin durumunu ve yürütmeleri kontrol eder. |