- Kaynak: TestMatrix
- Müşteri Bilgileri
- MüşteriBilgisiDetay
- Test Şartnamesi
- Test kurulumu
- CihazDosyası
- Obb Dosyası
- Dosya referansı
- NormalDosya
- apk
- Hesap
- GoogleOtomatik
- Çevre değişkeni
- Systrace Kurulumu
- IosTestSetup
- IosCihazDosyası
- AndroidEnstrümantasyonTest
- Uygulama Paketi
- Orkestratör Seçeneği
- Parçalama Seçeneği
- ÜniformaParlatma
- Manuel Parçalama
- Parça İçin Test Hedefleri
- SmartSharding
- AndroidRoboTest
- Robo Direktifi
- RoboActionType
- Robo Modu
- RoboStartingIntent
- BaşlatıcıActivityIntent
- StartActivityIntent
- AndroidTestLoop
- IosXcTest
- IosTestLoop
- Çevre Matrisi
- AndroidMatrix
- AndroidCihaz Listesi
- AndroidCihaz
- IosCihaz Listesi
- IosCihaz
- Test uygulaması
- Parça
- Çevre
- Test durumu
- AraçSonuçlarıAdım
- TestDetayları
- Sonuç Depolama
- GoogleCloudDepolama
- AraçSonuçlarıGeçmişi
- AraçSonuçlarıYürütme
- Geçersiz Matris Ayrıntıları
- Sonuç Özeti
- Yöntemler
Kaynak: TestMatrix
TestMatrix bir testle ilgili tüm ayrıntıları yakalar. Ortam yapılandırmasını, test özelliklerini, test yürütmelerini ve genel durumu ve sonucu içerir.
JSON gösterimi |
---|
{ "testMatrixId": string, "projectId": string, "clientInfo": { object ( |
Alanlar | |
---|---|
testMatrixId | Yalnızca çıktı. Hizmet tarafından belirlenen benzersiz kimlik. |
projectId | Test matrisinin sahibi olan bulut projesi. |
clientInfo | Testi başlatan istemci hakkında bilgi. |
testSpecification | Gerekli. Test nasıl çalıştırılır. |
environmentMatrix | Gerekli. Testlerin yürütüldüğü cihazlar. |
testExecutions[] | Yalnızca çıktı. Hizmetin bu matris için oluşturduğu test yürütmelerinin listesi. |
resultStorage | Gerekli. Matris sonuçlarının yazıldığı yer. |
state | Yalnızca çıktı. Test matrisinin mevcut ilerlemesini gösterir. |
timestamp | Yalnızca çıktı. Bu test matrisinin ilk oluşturulduğu zaman. RFC3339 UTC "Zulu" biçiminde, nanosaniye çözünürlüğe ve en fazla dokuz kesirli basamağa sahip bir zaman damgası. Örnekler: |
invalidMatrixDetails | Yalnızca çıktı. Matrisin neden geçersiz kabul edildiğini açıklar. Yalnızca GEÇERSİZ durumundaki matrisler için kullanışlıdır. |
flakyTestAttempts | Bir veya daha fazla test senaryosunun herhangi bir nedenden dolayı başarısız olması durumunda TestExecution'ın yeniden denenmesi gereken sefer sayısı. İzin verilen maksimum tekrar sayısı 10'dur. Varsayılan 0'dır; bu, yeniden çalıştırmanın olmadığı anlamına gelir. |
outcomeSummary | Yalnızca Çıkış. Testin genel sonucu. Yalnızca test matrisi durumu BİTTİ olduğunda ayarlayın. |
failFast | Doğruysa, matristeki her yürütmeyi/parçayı çalıştırmak için en fazla yalnızca tek bir girişimde bulunulacaktır. Kesintili test denemeleri etkilenmez. Normalde potansiyel bir altyapı sorunu tespit edilirse 2 veya daha fazla deneme yapılır. Bu özellik gecikmeye duyarlı iş yükleri içindir. Başarısız matrisler için yürütme başarısızlıklarının görülme sıklığı önemli ölçüde daha yüksek olabilir ve bu beklenti nedeniyle destek daha sınırlıdır. |
Müşteri Bilgileri
Testi başlatan istemci hakkında bilgi.
JSON gösterimi |
---|
{
"name": string,
"clientInfoDetails": [
{
object ( |
Alanlar | |
---|---|
name | Gerekli. gcloud gibi istemci adı. |
clientInfoDetails[] | Müşteri hakkında ayrıntılı bilgilerin listesi. |
MüşteriBilgisiDetay
Testi başlatan istemciyle ilgili 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 | Gerekli. Ayrıntılı müşteri bilgilerinin anahtarı. |
value | Gerekli. Ayrıntılı müşteri bilgilerinin değeri. |
Test Şartnamesi
Testin nasıl çalıştırılacağına dair bir açıklama.
JSON gösterimi |
---|
{ "testTimeout": string, "disableVideoRecording": boolean, "disablePerformanceMetrics": boolean, // Union field |
Alanlar | |
---|---|
testTimeout | Otomatik olarak iptal edilmeden önce bir test yürütmesinin çalıştırılmasına izin verilen maksimum süre. Varsayılan değer 5 dakikadır. ' |
disableVideoRecording | Video kaydını devre dışı bırakır. Test gecikmesini azaltabilir. |
disablePerformanceMetrics | Performans ölçümleri kaydını devre dışı bırakır. Test gecikmesini azaltabilir. |
Birlik alanı setup . Test kurulumu gereksinimleri. setup aşağıdakilerden yalnızca biri olabilir: | |
testSetup | Android için kurulum gereksinimlerini test edin; örneğin yüklenecek dosyalar, önyükleme komut dosyaları. |
iosTestSetup | iOS için kurulum gereksinimlerini test edin. |
Birlik saha test . Gerekli. Çalıştırılacak test türü. test aşağıdakilerden yalnızca biri olabilir: | |
androidInstrumentationTest | Bir Android enstrümantasyon testi. |
androidRoboTest | Bir Android robot testi. |
androidTestLoop | Test Döngüsü olan bir Android Uygulaması. |
iosXcTest | Bir .xctestrun dosyası aracılığıyla bir iOS XCTest. |
iosTestLoop | Test döngüsüne sahip bir iOS uygulaması. |
Test kurulumu
Testi çalıştırmadan önce Android cihazının nasıl kurulacağına ilişkin açıklama.
JSON gösterimi |
---|
{ "filesToPush": [ { object ( |
Alanlar | |
---|---|
filesToPush[] | Teste başlamadan önce cihaza gönderilecek dosyaların listesi. |
directoriesToPull[] | Test sonunda GCS'ye yüklenecek cihazdaki dizinlerin listesi; /sdcard, /storage veya /data/local/tmp altında mutlak yollar olmalıdırlar. Yol adları az AZ 0-9 _ - karakterleriyle sınırlıdır. + ve / Not: /sdcard ve /data yolları kullanıma sunulacak ve örtülü yol ikameleri olarak değerlendirilecektir. Örneğin, belirli bir cihazdaki /sdcard harici depolamayla eşleşmiyorsa sistem, onu o cihazın harici depolama yolu önekiyle değiştirecektir. |
additionalApks[] | Doğrudan test edilenlere ek olarak yüklenecek APK'lar. Şu anda 100 ile sınırlı. |
account | Cihaz, test süresince bu hesapta oturum açacaktır. |
networkProfile | Testi çalıştırmak için kullanılan ağ trafiği profili. Kullanılabilir ağ profilleri, TestEnvironmentDiscoveryService.GetTestEnvironmentCatalog çağrılırken NETWORK_CONFIGURATION ortam türü kullanılarak sorgulanabilir. |
environmentVariables[] | Test için ayarlanacak ortam değişkenleri (yalnızca enstrümantasyon testleri için geçerlidir). |
systrace | Çalıştırma için Systrace yapılandırması. Kullanımdan kaldırıldı: Systrace, 01.01.2020 tarihinde kullanımdan kaldırılan Python 2'yi kullandı. Systrace artık Cloud Testing API'de desteklenmiyor ve sonuçlarda herhangi bir Systrace dosyası sağlanmayacak. |
dontAutograntPermissions | Uygulama yüklenirken tüm çalışma zamanı izinlerinin verilmesinin engellenip engellenmeyeceği |
CihazDosyası
Tek bir cihaz dosyası açıklaması.
JSON gösterimi |
---|
{ // Union field |
Alanlar | |
---|---|
Birleşim alanı device_file . Gerekli. device_file aşağıdakilerden yalnızca biri olabilir: | |
obbFile | Opak bir ikili blob dosyasına başvuru. |
regularFile | Normal bir dosyaya referans. |
Obb Dosyası
Test başlamadan önce cihaza yüklenecek opak bir ikili blob dosyası.
JSON gösterimi |
---|
{
"obbFileName": string,
"obb": {
object ( |
Alanlar | |
---|---|
obbFileName | Gerekli. Android tarafından belirtilen formata uyması gereken OBB dosya adı; örneğin [main|patch].0300110.com.example.android.obb, <shared-storage>/Android/obb/<package-name>/ içine yüklenecek. cihazda. |
obb | Gerekli. Cihaza kurulacak Opak İkili Blob (OBB) dosyası/dosyaları. |
Dosya referansı
Kullanıcı girişleri için kullanılan bir dosyaya referans.
JSON gösterimi |
---|
{ // Union field |
Alanlar | |
---|---|
Birlik alan file . Gerekli. Dosya referansı. file aşağıdakilerden yalnızca biri olabilir: | |
gcsPath | Google Bulut Depolama'daki bir dosyanın yolu. Örnek: gs://build-app-1414623860166/app%40debug-unaligned.apk Bu yolların url kodlu olması bekleniyor (yüzde kodlama) |
NormalDosya
Test başlamadan önce cihaza yüklenecek bir dosya veya dizin.
JSON gösterimi |
---|
{
"content": {
object ( |
Alanlar | |
---|---|
content | Gerekli. Kaynak dosya. |
devicePath | Gerekli. İçeriğin cihazda nereye yerleştirileceği. Mutlak, izin verilenler listesine eklenen bir yol olmalıdır. Dosya mevcutsa değiştirilecektir. Aşağıdaki cihaz tarafı dizinleri ve bunların alt dizinlerinden herhangi biri 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çersizdir. /sdcard ve /data yolları kullanıma sunulacak ve örtülü yol değişiklikleri olarak değerlendirilecektir. Örneğin, belirli bir cihazdaki /sdcard harici depolama birimiyle eşleşmiyorsa, sistem bunu o cihazın harici depolama yolu önekiyle değiştirecek ve dosyayı oraya kopyalayacaktır. Cihazdaki dosyalara taşınabilir bir şekilde erişmek için uygulamada ve test kodunda Ortam API'sinin kullanılması önemle tavsiye edilir. |
apk
Yüklenecek bir Android paket dosyası.
JSON gösterimi |
---|
{
"location": {
object ( |
Alanlar | |
---|---|
location | Test başlamadan önce cihaza yüklenecek APK'nın yolu. |
packageName | Yüklenecek APK için Java paketi. Değer, uygulamanın bildirimi incelenerek belirlenir. |
Hesap
Bir hesabı ve hesaba nasıl giriş yapılacağını tanımlar.
JSON gösterimi |
---|
{ // Union field |
Alanlar | |
---|---|
Birleşim alanı account_type . Gerekli. Ne işe yaradığına (ör. Google) ve oturum açma mekanizmasına (ör. kullanıcı adı ve şifre) bağlı olarak hesap türü. account_type aşağıdakilerden yalnızca biri olabilir: | |
googleAuto | Otomatik bir Google giriş hesabı. |
GoogleOtomatik
Otomatik Google hesabı girişini etkinleştirir. Ayarlanırsa hizmet, testi yürütmeden önce otomatik olarak bir Google test hesabı oluşturur ve bunu cihaza ekler. Test hesaplarının yeniden kullanılabileceğini unutmayın. Birçok uygulama, cihazda bir hesap mevcut olduğunda tüm işlevlerini gösterir. Oluşturulan bu hesaplarla cihazda oturum açmak, daha fazla işlevin test edilmesine olanak tanır.
Çevre değişkeni
Teste ortam değişkeni olarak geçirilen bir anahtar/değer çifti.
JSON gösterimi |
---|
{ "key": string, "value": string } |
Alanlar | |
---|---|
key | Ortam değişkeninin anahtarı. |
value | Ortam değişkeninin değeri. |
Systrace Kurulumu
JSON gösterimi |
---|
{ "durationSeconds": integer } |
Alanlar | |
---|---|
durationSeconds | Saniye cinsinden sistem süresi. 1 ila 30 saniye arasında olmalıdır. 0 systrace'i devre dışı bırakır. |
IosTestSetup
Testi çalıştırmadan önce bir iOS cihazının nasıl kurulacağına ilişkin 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 ç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 gönderilecek dosyaların listesi. |
pullDirectories[] | Testin sonunda Cloud Storage'a yüklenecek cihazdaki dizinlerin listesi. Dizinler ya paylaşılan bir dizinde (/private/var/mobile/Media gibi) ya da 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 dosyası |
bundleId | Bu dosyanın bulunduğu uygulamanın paket kimliği. iOS uygulamaları kendi dosya sistemlerini korumalı hale getirir, bu nedenle uygulama dosyalarının cihazda hangi uygulamanın yüklü olduğunu belirtmesi gerekir. |
devicePath | Dosyanın cihazdaki, uygulamanın korumalı alan dosya sistemi içindeki konumu |
AndroidEnstrümantasyonTest
Bir Android bileşenini normal yaşam döngüsünden bağımsız olarak kontrol edebilen bir Android uygulamasının testi. Android enstrümantasyon testleri, bir uygulama APK'sını çalıştırır ve APK'yı aynı süreçte sanal veya fiziksel bir AndroidCihazda test eder. Ayrıca, com.google.GoogleTestRunner gibi, seçilen spesifik enstrümantasyon çerçevesine göre değişiklik gösterebilecek bir test çalıştırıcısı sınıfını da belirtirler.
Android testi türleri hakkında daha fazla bilgi için https://developer.android.com/training/testing/fundamentals adresine bakın.
JSON gösterimi |
---|
{ "testApk": { object ( |
Alanlar | |
---|---|
testApk | Gerekli. Yürütülecek test kodunu içeren APK. |
appPackageId | Test edilen uygulama için Java paketi. Varsayılan değer, uygulamanın bildirimi incelenerek belirlenir. |
testPackageId | Testin yürütülmesi için Java paketi. Varsayılan değer, uygulamanın bildirimi incelenerek belirlenir. |
testRunnerClass | InstrumentationTestRunner sınıfı. Varsayılan değer, uygulamanın bildirimi incelenerek belirlenir. |
testTargets[] | Her hedefin, aşağıdaki formatlardan birinde paket adı veya sınıf adı ile tam olarak nitelenmesi gerekir:
Boşsa modüldeki tüm hedefler çalıştırılacaktır. |
orchestratorOption | Her testin Android Test Orchestrator ile kendi enstrümantasyon çağrısı dahilinde çalıştırılıp çalıştırılmaması seçeneği. ** Orchestrator yalnızca AndroidJUnitRunner sürüm 1.1 veya üzeri ile uyumludur! ** Orchestrator 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 adresine bakın. Ayarlanmazsa test orkestratör olmadan yürütülür. |
shardingOption | Testleri birden çok parçada paralel olarak çalıştırma seçeneği. |
Birleşim alanı app_under_test . Gerekli. app_under_test aşağıdakilerden yalnızca biri olabilir: | |
appApk | Test edilen uygulamanın APK'sı. |
appBundle | Test edilen uygulama için çoklu apk uygulama paketi. |
Uygulama Paketi
Bir BundleConfig.pb dosyası, bir temel modül dizini, sıfır veya daha fazla dinamik özellik modülü dizini içeren bir Android App Bundle dosya biçimi.
Uygulama Paketleri oluşturmaya ilişkin rehberlik için https://developer.android.com/guide/app-bundle/build adresine bakın.
JSON gösterimi |
---|
{ // Union field |
Alanlar | |
---|---|
Birlik alan bundle . Gerekli. Konum bilgilerini paketleyin. bundle aşağıdakilerden 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.
Numaralandırmalar | |
---|---|
ORCHESTRATOR_OPTION_UNSPECIFIED | Varsayılan değer: sunucu modu seçecektir. Şu anda testin orkestratör olmadan çalışacağı anlamına gelir. Gelecekte tüm enstrümantasyon testleri orkestratörle birlikte yürütülecek. Orchestrator'ın kullanılması, sunduğu tüm faydalardan dolayı oldukça tavsiye edilir. |
USE_ORCHESTRATOR | Orchestrator'ı kullanarak testi çalıştırın. ** Yalnızca AndroidJUnitRunner sürüm 1.1 veya üzeri ile uyumludur! ** Tavsiye edilen. |
DO_NOT_USE_ORCHESTRATOR | Testi orkestratör kullanmadan çalıştırın. |
Parçalama Seçeneği
Parçalamayı etkinleştirme seçenekleri.
JSON gösterimi |
---|
{ // Union field |
Alanlar | |
---|---|
Birleşim alanı | |
uniformSharding | Toplam parça sayısı verilen test senaryoları eşit şekilde parçalanır. |
manualSharding | Test senaryolarını belirtilen paket, sınıf ve/veya yöntem gruplarına ayırır. |
smartSharding | Parça testi, önceki test senaryosu zamanlama kayıtlarına dayanmaktadır. |
ÜniformaParlatma
Toplam parça sayısı verilen test senaryoları eşit şekilde parçalanır.
Enstrümantasyon testleri için "-e numShard" ve "-e shardIndex" AndroidJUnitRunner argümanlarına çevrilecektir. Tekdüzen parçalama etkinleştirildiğinde, bu parçalama bağımsız değişkenlerinden herhangi birinin environmentVariables
aracılığıyla belirtilmesi geçersizdir.
AndroidJUnitRunner'ın kullandığı parçalama mekanizmasına bağlı olarak, test senaryolarının tüm parçalar arasında eşit şekilde dağıtılacağına dair bir garanti yoktur.
JSON gösterimi |
---|
{ "numShards": integer } |
Alanlar | |
---|---|
numShards | Gerekli. Oluşturulacak toplam parça sayısı. Bu her zaman toplam test senaryosu sayısından fazla olmayan pozitif bir sayı olmalıdır. Bir veya daha fazla fiziksel cihaz seçtiğinizde shard sayısı <= 50 olmalıdır. Bir veya daha fazla ARM sanal cihaz seçtiğinizde <= 200 olmalıdır. Yalnızca x86 sanal cihaz seçtiğinizde <= 500 olmalıdır. . |
Manuel Parçalama
Test senaryolarını belirtilen paket, sınıf ve/veya yöntem gruplarına ayırır.
Manuel parçalama etkinken, test hedeflerinin EnvironmentVariables veya InstrumentationTest aracılığıyla belirtilmesi geçersizdir.
JSON gösterimi |
---|
{
"testTargetsForShard": [
{
object ( |
Alanlar | |
---|---|
testTargetsForShard[] | Gerekli. Manuel olarak oluşturulan her parça için çalıştırılacak paketler, sınıflar ve/veya test yöntemleri grubu. Bu alan mevcutsa en az bir parça 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 <= 200 olmalıdır. Yalnızca x86 sanal cihaz seçtiğinizde <= olmalıdır. 500. |
Parça İçin Test Hedefleri
Bir parça için hedefleri test edin.
JSON gösterimi |
---|
{ "testTargets": [ string ] } |
Alanlar | |
---|---|
testTargets[] | Her parça için çalıştırılacak paket, sınıf ve/veya test yöntemleri 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'ların sayısı 0'dan büyük olmalıdır. |
SmartSharding
Parça testi, önceki test senaryosu zamanlama kayıtlarına dayanmaktadır.
JSON gösterimi |
---|
{ "targetedShardDuration": string } |
Alanlar | |
---|---|
targetedShardDuration | Bir parça içindeki testlerin alması gereken süre. 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 bağlı olarak dinamik olarak ayarlanır. Her parça için en az bir test senaryosunu garanti etmek amacıyla parça sayısı, test senaryolarının sayısını geçmeyecektir. Aşağıdaki durumlarda parça süresi aşılacaktır:
Akıllı parçalama test senaryosu geçmişini ve doğru olmayabilecek varsayılan süreleri kullandığından parça süresi garanti edilmez. Test senaryosu zamanlama kayıtlarını bulma kuralları şunlardır:
Gerçek parça 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 daha azına (fiziksel cihazlar için 45 dakika ve sanal cihazlar için 60 dakika) ayarlamanızı veya özel Ayarladığınız test zaman aşımı değerini kullanın. Bu yaklaşım, tüm testler bitmeden parçanın iptal edilmesini önler. Maksimum parça sayısı için bir sınır olduğunu unutmayın. Bir veya daha fazla fiziksel cihaz seçtiğinizde shard sayısı <= 50 olmalıdır. Bir veya daha fazla ARM sanal cihaz seçtiğinizde <= 200 olmalıdır. Yalnızca x86 sanal cihaz seçtiğinizde <= 500 olmalıdır. Parça başına en az bir test senaryosunu garanti etmek için parça sayısı, test senaryolarının sayısını aşmayacaktır. Oluşturulan her parça günlük test kotasına dahil edilir. ' |
AndroidRoboTest
Uygulamayı sanal veya fiziksel bir Android Cihazda araştıran, suçluları ve çökmeleri bulan bir android uygulaması testi.
JSON gösterimi |
---|
{ "appPackageId": string, "appInitialActivity": string, "maxDepth": integer, "maxSteps": integer, "roboDirectives": [ { object ( |
Alanlar | |
---|---|
appPackageId | Test edilen uygulama için Java paketi. Varsayılan değer, uygulamanın bildirimi incelenerek belirlenir. |
appInitialActivity | Uygulamayı başlatmak için kullanılması gereken ilk etkinlik. |
maxDepth | Robo'nun keşfedebileceği çapraz yığının maksimum derinliği. Robo'nun uygulamayı ilk aktivitenin ötesinde keşfetmesini sağlamak için en az 2 olması gerekiyor. Varsayılan 50'dir. |
maxSteps | Robo'nun yürütebileceği maksimum adım sayısı. Varsayılan sınır değildir. |
roboDirectives[] | Tarama sırasında Robo'nun 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 vermelidir. |
roboScript | Robo'nun tarama için bir önsöz olarak gerçekleştirmesi gereken bir dizi eylemi içeren bir JSON dosyası. |
startingIntents[] | Uygulamayı tarama için başlatmak için kullanılan amaçlar. Hiçbiri sağlanmazsa ana başlatıcı etkinliği başlatılır. Bazıları sağlanırsa yalnızca sağlananlar başlatılır (ana başlatıcı etkinliği açıkça sağlanmalıdır). |
Birleşim alanı app_under_test . Gerekli. app_under_test aşağıdakilerden yalnızca biri olabilir: | |
appApk | Test edilen uygulamanın APK'sı. |
appBundle | Test edilen uygulama için çoklu apk uygulama paketi. |
Robo Direktifi
Tarama sırasında karşılaşılması durumunda Robo'yu belirli bir kullanıcı arayüzü öğesiyle etkileşime girmeye yönlendirir. Şu anda Robo, metin girişi veya öğe tıklaması gerçekleştirebiliyor.
JSON gösterimi |
---|
{
"resourceName": string,
"inputText": string,
"actionType": enum ( |
Alanlar | |
---|---|
resourceName | Gerekli. Hedef kullanıcı arayüzü öğesinin Android kaynak adı. Örneğin, Java'da: R.string.foo xml'de: @string/foo Yalnızca "foo" kısmı gereklidir. Referans belgesi: https://developer.android.com/guide/topics/resources/accessing-resources.html |
inputText | Robo'nun ayarlamaya yönlendirildiği metin. Boş bırakılırsa yönerge, kaynakAdı ile eşleşen öğeye yapılan bir CLICK olarak değerlendirilecektir. |
actionType | Gerekli. Robo'nun belirtilen öğe üzerinde gerçekleştirmesi gereken eylem türü. |
RoboActionType
Robo'nun kullanıcı arayüzü öğelerinde gerçekleştirebileceği eylemler.
Numaralandırmalar | |
---|---|
ACTION_TYPE_UNSPECIFIED | KULLANMAYIN. Yalnızca proto sürüm oluşturma için. |
SINGLE_CLICK | Belirtilen öğeye tıklamak için Robo'yu yönlendirin. Belirtilen öğe tıklanabilir değilse işlem yapılmaz. |
ENTER_TEXT | Belirtilen öğeye metin girmek için Robo'yu yönlendirin. Belirtilen öğe etkin değilse veya metin girişine izin vermiyorsa işlem yapılmaz. |
IGNORE | Robo'yu belirli bir öğeyle olan etkileşimleri yok saymaya yönlendirin. |
Robo Modu
Robo'nun çalışması gereken mod.
Numaralandırmalar | |
---|---|
ROBO_MODE_UNSPECIFIED | Bu, sunucunun modu seçmesi gerektiği anlamına gelir. Tavsiye edilen. |
ROBO_VERSION_1 | Robo'yu uygulamadan ayrılmadan yalnızca UIAutomator modunda çalıştırır |
ROBO_VERSION_2 | Robo'yu standart Espresso'da UIAutomator geri dönüşüyle çalıştırır |
RoboStartingIntent
Taranacak başlangıç etkinliklerini belirtmeye yönelik mesaj.
JSON gösterimi |
---|
{ "timeout": string, // Union field |
Alanlar | |
---|---|
timeout | Her amaç için saniye cinsinden zaman aşımı. ' |
Birleşim alanı starting_intent . Gerekli. Bir aktiviteyi başlatmak için niyet ayrıntıları. starting_intent aşağıdakilerden yalnızca biri olabilir: | |
launcherActivity | Ana başlatıcı etkinliğini başlatan bir amaç. |
startActivity | Bir etkinliği belirli ayrıntılarla başlatan niyet. |
BaşlatıcıActivityIntent
Ana başlatıcı etkinliğini başlatan amacı belirtir.
StartActivityIntent
Bir eylem, uri ve kategorilerle belirtilen başlangıç amacı.
JSON gösterimi |
---|
{ "action": string, "uri": string, "categories": [ string ] } |
Alanlar | |
---|---|
action | Eylem adı. START_ACTIVITY için gerekli. |
uri | Eylemin URI'si. |
categories[] | Niyet üzerinde ayarlanacak niyet kategorileri. |
AndroidTestLoop
Bir Android Uygulamasının Test Döngüsüyle testi. Oyunlar, şimdilik bu API'nin tek kullanıcısı olduğundan, <intent-name> amacı dolaylı olarak eklenecektir.
JSON gösterimi |
---|
{ "appPackageId": string, "scenarios": [ integer ], "scenarioLabels": [ string ], // Union field |
Alanlar | |
---|---|
appPackageId | Test edilen uygulama için Java paketi. Varsayılan, uygulamanın bildirimi incelenerek belirlenir. |
scenarios[] | Test sırasında çalıştırılması gereken senaryoların listesi. Varsayılan, uygulamanın bildiriminden 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 bildiriminde tanımlanan etiketlerle eşleşmelidir. Örneğin, player_experience ve com.google.test.loops.player_experience, manifestte com.google.test.loops.player_experience adıyla etiketlenen tüm döngüleri yürütmeye ekler. Senaryolar alanında senaryolar da belirtilebilir. |
Birleşim alanı app_under_test . Gerekli. Test edilecek Android paketi. app_under_test aşağıdakilerden yalnızca biri olabilir: | |
appApk | Test edilen uygulamanın APK'sı. |
appBundle | Test edilen uygulama için çoklu apk uygulama paketi. |
IosXcTest
XCTest çerçevesini kullanan bir iOS uygulamasının testi. Xcode, bir test belirtimi (argümanlar, test yöntemleri vb.) içeren bir .xctestrun dosyası oluşturan "test için derleme" seçeneğini destekler. Bu test türü, .xctestrun dosyasını ve testleri çalıştırmak için gereken tüm ikili dosyaları içeren Build/Products dizininin ilgili içeriğini içeren bir zip dosyasını kabul eder.
JSON gösterimi |
---|
{ "testsZip": { object ( |
Alanlar | |
---|---|
testsZip | Gerekli. .xctestrun dosyasını ve DerivedData/Build/Products dizininin içeriğini içeren .zip. Xctestrun alanı belirtilirse bu zip'teki .xctestrun dosyası yoksayılır. |
xctestrun | Test zip dosyasındaki .xctestrun dosyasını geçersiz kılacak bir .xctestrun dosyası. .xctestrun dosyası, çalıştırılacak ve/veya yoksayılacak test yöntemlerinin yanı sıra ortam değişkenlerini de içerdiğinden, testlerin parçalanması için bu yararlı olabilir. Varsayılan testler zip dosyasından alınır. |
xcodeVersion | Test için kullanılması gereken Xcode sürümü. Desteklenen seçeneklere ulaşmak için TestEnvironmentDiscoveryService'i kullanın. Varsayılan olarak Firebase Test Lab'ın desteklediği en son Xcode sürümü kullanılır. |
appBundleId | Yalnızca çıktı. Test edilen uygulamanın paket kimliği. |
testSpecialEntitlements | Özel uygulama yetkilerini test etme seçeneği. Bunun ayarlanması, özel yetkilere sahip uygulamanın açık bir uygulama tanımlayıcıyla yeniden imzalanmasına neden olur. Şu anda aps ortamı yetkisinin test edilmesini desteklemektedir. |
IosTestLoop
Bir veya daha fazla oyun döngüsü senaryosunu uygulayan bir iOS uygulamasının testi. Bu test türü, arşivlenmiş bir uygulamayı (.ipa dosyası) ve uygulamada sırayla yürütülecek tamsayı senaryolarının bir listesini kabul eder.
JSON gösterimi |
---|
{
"appIpa": {
object ( |
Alanlar | |
---|---|
appIpa | Gerekli. Test edilecek uygulamanın .ipa'sı. |
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 çıktı. Test edilen uygulamanın paket kimliği. |
Çevre Matrisi
Testin yürütüleceği ortamların matrisi.
JSON gösterimi |
---|
{ // Union field |
Alanlar | |
---|---|
Birleşim alanı environment_matrix . Gerekli. Çevre matrisi. environment_matrix aşağıdakilerden yalnızca biri olabilir: | |
androidMatrix | Android cihazların bir matrisi. |
androidDeviceList | Android cihazların listesi; test yalnızca belirtilen cihazlarda çalıştırılacaktır. |
iosDeviceList | iOS cihazlarının listesi. |
AndroidMatrix
Bir dizi Android cihaz yapılandırma permütasyonu, verilen eksenlerin çapraz çarpımı ile tanımlanır. Dahili olarak, verilen AndroidMatrix bir dizi AndroidDevices'a genişletilecektir.
Yalnızca desteklenen permütasyonlar başlatılacaktır. Geçersiz permütasyonlar (örn. uyumsuz modeller/versiyonlar) dikkate alınmaz.
JSON gösterimi |
---|
{ "androidModelIds": [ string ], "androidVersionIds": [ string ], "locales": [ string ], "orientations": [ string ] } |
Alanlar | |
---|---|
androidModelIds[] | Gerekli. Kullanılacak Android cihaz grubunun kimlikleri. Desteklenen seçeneklere ulaşmak için TestEnvironmentDiscoveryService'i kullanın. |
androidVersionIds[] | Gerekli. Kullanılacak Android işletim sistemi sürümünün kimlikleri. Desteklenen seçeneklere ulaşmak için TestEnvironmentDiscoveryService'i kullanın. |
locales[] | Gerekli. Test cihazının test için etkinleştireceği yerel ayarlar kümesi. Desteklenen seçeneklere ulaşmak için TestEnvironmentDiscoveryService'i kullanın. |
orientations[] | Gerekli. Test edilecek yönelimler kümesi. Desteklenen seçeneklere ulaşmak için TestEnvironmentDiscoveryService'i kullanın. |
AndroidCihaz Listesi
Testin yürütüleceği Android cihaz yapılandırmalarının listesi.
JSON gösterimi |
---|
{
"androidDevices": [
{
object ( |
Alanlar | |
---|---|
androidDevices[] | Gerekli. Android cihazların listesi. |
AndroidCihaz
Tek bir Android cihaz.
JSON gösterimi |
---|
{ "androidModelId": string, "androidVersionId": string, "locale": string, "orientation": string } |
Alanlar | |
---|---|
androidModelId | Gerekli. Kullanılacak Android cihazının kimliği. Desteklenen seçeneklere ulaşmak için TestEnvironmentDiscoveryService'i kullanın. |
androidVersionId | Gerekli. Kullanılacak Android işletim sistemi sürümünün kimliği. Desteklenen seçeneklere ulaşmak için TestEnvironmentDiscoveryService'i kullanın. |
locale | Gerekli. Test cihazının test için kullandığı yerel ayar. Desteklenen seçeneklere ulaşmak için TestEnvironmentDiscoveryService'i kullanın. |
orientation | Gerekli. Test sırasında cihazın nasıl yönlendirildiği. Desteklenen seçeneklere ulaşmak için TestEnvironmentDiscoveryService'i kullanın. |
IosCihaz Listesi
Testin yürütüleceği iOS cihaz yapılandırmalarının listesi.
JSON gösterimi |
---|
{
"iosDevices": [
{
object ( |
Alanlar | |
---|---|
iosDevices[] | Gerekli. iOS cihazlarının listesi. |
IosCihaz
Tek bir iOS cihazı.
JSON gösterimi |
---|
{ "iosModelId": string, "iosVersionId": string, "locale": string, "orientation": string } |
Alanlar | |
---|---|
iosModelId | Gerekli. Kullanılacak iOS cihazının kimliği. Desteklenen seçeneklere ulaşmak için TestEnvironmentDiscoveryService'i kullanın. |
iosVersionId | Gerekli. Kullanılacak iOS ana yazılım sürümünün kimliği. Desteklenen seçeneklere ulaşmak için TestEnvironmentDiscoveryService'i kullanın. |
locale | Gerekli. Test cihazının test için kullandığı yerel ayar. Desteklenen seçeneklere ulaşmak için TestEnvironmentDiscoveryService'i kullanın. |
orientation | Gerekli. Test sırasında cihazın nasıl yönlendirildiği. Desteklenen seçeneklere ulaşmak için TestEnvironmentDiscoveryService'i kullanın. |
Test uygulaması
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 çıktı. Hizmet tarafından belirlenen benzersiz kimlik. |
matrixId | Yalnızca çıktı. İçeren TestMatrix'in kimliği. |
projectId | Yalnızca çıktı. Test yürütmesinin sahibi olan bulut projesi. |
testSpecification | Yalnızca çıktı. Test nasıl çalıştırılır. |
shard | Yalnızca çıktı. Parçayla ilgili ayrıntılar. |
environment | Yalnızca çıktı. Ana makine(ler)in nasıl yapılandırıldığı. |
state | Yalnızca çıktı. Test yürütmesinin mevcut ilerlemesini gösterir (örneğin, BİTİRİLDİ). |
toolResultsStep | Yalnızca çıktı. Bu yürütmenin sonuçlarının yazıldığı yer. |
timestamp | Yalnızca çıktı. Bu test yürütmesinin başlangıçta oluşturulduğu zaman. RFC3339 UTC "Zulu" biçiminde, nanosaniye çözünürlüğe ve en fazla dokuz kesirli basamağa sahip bir zaman damgası. Örnekler: |
testDetails | Yalnızca çıktı. Çalışan testle ilgili ek ayrıntılar. |
Parça
Yalnızca çıktı. Parçayla ilgili ayrıntılar.
JSON gösterimi |
---|
{
"shardIndex": integer,
"numShards": integer,
"testTargetsForShard": {
object ( |
Alanlar | |
---|---|
shardIndex | Yalnızca çıktı. Tüm parçalar arasındaki parçanın dizini. |
numShards | Yalnızca çıktı. Toplam parça sayısı. |
testTargetsForShard | Yalnızca çıktı. Her parça için hedefleri test edin. Yalnızca manuel parçalama için ayarlanmıştır. |
estimatedShardDuration | Yalnızca çıktı. Varsa önceki test senaryosu zamanlama kayıtlarına dayalı tahmini parça süresi. ' |
Çevre
Testin yürütüldüğü ortam.
JSON gösterimi |
---|
{ // Union field |
Alanlar | |
---|---|
Birlik alanı environment . Gerekli. Çevre. environment aşağıdakilerden yalnızca biri olabilir: | |
androidDevice | Android testiyle kullanılması gereken bir Android cihazı. |
iosDevice | Bir iOS testiyle kullanılması gereken bir iOS cihazı. |
Test Durumu
Bir test yürütmesinin veya matrisinin durumu (yani ilerlemesi).
Numaralandırmalar | |
---|---|
TEST_STATE_UNSPECIFIED | Kullanmayın. Yalnızca 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 olmasını bekliyor. |
RUNNING | İnfaz şu anda işleniyor. Yalnızca bir yürütmeye ayarlanabilir. |
FINISHED | Yürütme veya matris normal şekilde sonlandırıldı. Bir matriste bu, matris düzeyindeki işlemenin normal şekilde tamamlandığı ancak bireysel yürütmelerin HATA durumunda olabileceği anlamına gelir. |
ERROR | Yürütme veya matris, bir altyapı arızasıyla karşılaştığı için durduruldu. |
UNSUPPORTED_ENVIRONMENT | Desteklenmeyen bir ortama karşılık geldiğinden yürütme çalıştırılmadı. Yalnızca bir yürütmeye ayarlanabilir. |
INCOMPATIBLE_ENVIRONMENT | Sağlanan girişler istenen ortamla uyumsuz olduğundan yürütme çalıştırılamadı. Örnek: istenen AndroidVersion, APK'nın minSdkVersion sürümünden daha düşük Yalnızca bir yürütmeye ayarlanabilir. |
INCOMPATIBLE_ARCHITECTURE | Sağlanan girişler istenen mimariyle uyumsuz olduğundan yürütme çalıştırılamadı. Örnek: istenen cihaz, sağlanan APK'da yerel kodun çalıştırılmasını desteklemiyor Yalnızca bir yürütmeye ayarlanabilir. |
CANCELLED | Kullanıcı yürütmeyi iptal etti. Yalnızca bir yürütmeye ayarlanabilir. |
INVALID | Sağlanan girişler geçerli olmadığından yürütme veya matris çalıştırılamadı. Örnekler: giriş dosyası beklenen türde değil, hatalı biçimlendirilmiş/bozuk veya kötü amaçlı yazılım olarak işaretlenmiş |
AraçSonuçlarıAdım
Bir araç sonuçları adım kaynağını temsil eder.
Bu bir TestExecution'ın sonuçlarına sahiptir.
JSON gösterimi |
---|
{ "projectId": string, "historyId": string, "executionId": string, "stepId": string } |
Alanlar | |
---|---|
projectId | Yalnızca çıktı. Araç sonuçları adımının sahibi olan bulut projesi. |
historyId | Yalnızca çıktı. Bir araç sonuçları geçmişi kimliği. |
executionId | Yalnızca çıktı. Bir araç sonuçları yürütme kimliği. |
stepId | Yalnızca çıktı. Bir araç sonuçları adım kimliği. |
TestDetayları
Çalışan testin ilerleyişi hakkında ek ayrıntılar.
JSON gösterimi |
---|
{ "progressMessages": [ string ], "errorMessage": string } |
Alanlar | |
---|---|
progressMessages[] | Yalnızca çıktı. Testin ilerleyişinin insanlar tarafından okunabilen, ayrıntılı açıklamaları. Örneğin: "Cihazın temel hazırlığının yapılması", "Test Başlatılıyor". Yürütme sırasında, ProgressMessages'ın sonuna yeni veriler eklenebilir. |
errorMessage | Yalnızca çıktı. TestState ERROR ise bu dize, hatayla ilgili insanlar tarafından okunabilen ayrıntıları içerecektir. |
Sonuç Depolama
Test çalıştırma sonuçlarının saklandığı yerler.
JSON gösterimi |
---|
{ "googleCloudStorage": { object ( |
Alanlar | |
---|---|
googleCloudStorage | Gerekli. |
toolResultsHistory | Sonuçların yazıldığı araç sonuçlarının yürütülmesini içeren araç sonuçları geçmişi. Sağlanmazsa hizmet uygun bir değer seçecektir. |
toolResultsExecution | Yalnızca çıktı. Sonuçların yazıldığı araç sonuçlarının yürütülmesi. |
resultsUrl | Yalnızca çıktı. Firebase Web Konsolu'ndaki sonuçların URL'si. |
GoogleCloudDepolama
Google bulut depolama alanı (GCS) içindeki bir depolama konumu.
JSON gösterimi |
---|
{ "gcsPath": string } |
Alanlar | |
---|---|
gcsPath | Gerekli. Sonunda bu testin sonuçlarını içerecek olan GCS'deki dizinin yolu. İstekte bulunan kullanıcının, sağlanan yoldaki pakete yazma erişimi olması gerekir. |
AraçSonuçlarıGeçmişi
Bir araç sonuçları geçmişi kaynağını temsil eder.
JSON gösterimi |
---|
{ "projectId": string, "historyId": string } |
Alanlar | |
---|---|
projectId | Gerekli. Aracın sonuç geçmişine sahip olan bulut projesi. |
historyId | Gerekli. Bir araç sonuçları geçmişi kimliği. |
AraçSonuçlarıYürütme
Bir araç sonuçları yürütme kaynağını temsil eder.
Bu bir TestMatrix'in sonuçlarına sahiptir.
JSON gösterimi |
---|
{ "projectId": string, "historyId": string, "executionId": string } |
Alanlar | |
---|---|
projectId | Yalnızca çıktı. Aracın sahibi olan bulut projesi, sonuçların yürütülmesini sağlar. |
historyId | Yalnızca çıktı. Bir araç sonuçları geçmişi kimliği. |
executionId | Yalnızca çıktı. Bir araç sonuçları yürütme kimliği. |
Geçersiz Matris Ayrıntıları
Bir Matrix'in GEÇERSİZ kabul edilmesinin ayrıntılı nedeni.
Numaralandırmalar | |
---|---|
INVALID_MATRIX_DETAILS_UNSPECIFIED | Kullanmayın. Yalnızca proto sürüm oluşturma için. |
DETAILS_UNAVAILABLE | Matris GEÇERSİZ, ancak daha fazla ayrıntı mevcut değil. |
MALFORMED_APK | Giriş uygulaması 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 bildirimi bir paket adı bildirmiyor. |
INVALID_PACKAGE_NAME | APK uygulama kimliği (diğer adıyla paket adı) geçersiz. Ayrıca bkz. https://developer.android.com/build/configure-app-module#set-application-id |
TEST_SAME_AS_APP | Test paketi ve uygulama paketi aynıdır. |
NO_INSTRUMENTATION | Test apk'sı bir enstrümantasyon bildirmiyor. |
NO_SIGNATURE | Giriş uygulaması apk'sinin imzası yok. |
INSTRUMENTATION_ORCHESTRATOR_INCOMPATIBLE | Kullanıcı tarafından veya test APK'sının bildirim dosyasında belirtilen test çalıştırıcısı sınıfı, Android Test Orchestrator ile uyumlu değil. Orchestrator yalnızca AndroidJUnitRunner sürüm 1.1 veya üzeri ile 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ı sınıfını içermiyor. Bu, aşağıdaki nedenlerden birinden kaynaklanabilir:
|
NO_LAUNCHER_ACTIVITY | Ana başlatıcı etkinliği bulunamadı. |
FORBIDDEN_PERMISSIONS | Uygulama, izin verilmeyen bir veya daha fazla izin bildiriyor. |
INVALID_ROBO_DIRECTIVES | Sağlanan roboDirektiflerde bir çelişki 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ı (örneğin, tıklama veya yoksayma eylemi bir giriş metni alanı içeriyor) |
TEST_LOOP_INTENT_FILTER_NOT_FOUND | Test döngüsü amaç filtresi yok veya verilen filtre doğru biçimlendirilmemiş. |
SCENARIO_LABEL_NOT_DECLARED | İstek, bildirimde belirtilmeyen bir senaryo etiketi içeriyor. |
SCENARIO_LABEL_MALFORMED | Bir etiketin değeri ayrıştırılırken bir hata oluştu. |
SCENARIO_NOT_DECLARED | İstek, bildirimde belirtilmeyen bir senaryo numarası içeriyor. |
DEVICE_ADMIN_RECEIVER | Cihaz yöneticisi uygulamalarına izin verilmez. |
MALFORMED_XC_TEST_ZIP | Sıkıştırılmış XCTest hatalı biçimlendirilmişti. Zip, tek bir .xctestrun dosyası ve DerivedData/Build/Products dizininin içeriğini içermiyordu. |
BUILT_FOR_IOS_SIMULATOR | Sıkıştırılmış XCTest, fiziksel bir cihaz yerine iOS simülatörü için oluşturuldu. |
NO_TESTS_IN_XC_TEST_ZIP | .xctestrun dosyası herhangi bir test hedefi belirtmedi. |
USE_DESTINATION_ARTIFACTS | .xctestrun dosyasında tanımlanan bir veya daha fazla test hedefi, izin verilmeyen "UseDestinationArtifacts" öğesini belirtiyor. |
TEST_NOT_APP_HOSTED | Fiziksel cihazlarda çalışan XC testlerinin xctestrun dosyasında "IsAppHostedTestBundle" == "true" olması gerekir. |
PLIST_CANNOT_BE_PARSED | XCTest zip dosyasındaki Info.plist dosyası ayrıştırılamadı. |
TEST_ONLY_APK | APK "testOnly" olarak işaretlendi. Kullanımdan kaldırıldı ve şu anda kullanılmıyor. |
MALFORMED_IPA | Giriş IPA'sı 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 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ştur |
MATRIX_TOO_LARGE | Matris çok fazla yürütme içerecek şekilde genişledi. |
TEST_QUOTA_EXCEEDED | Bu matristeki yürütmeleri çalıştırmak için yeterli test kotası yok. |
SERVICE_NOT_ACTIVATED | Gerekli bir bulut hizmeti API'si etkinleştirilmedi. Bakınız: https://firebase.google.com/docs/test-lab/android/continuous#requirements |
UNKNOWN_PERMISSION_ERROR | Bu testi çalıştırırken bilinmeyen bir izin sorunu oluştu. |
Sonuç Özeti
Bitmiş bir test matrisinin sonuç özeti.
Numaralandırmalar | |
---|---|
OUTCOME_SUMMARY_UNSPECIFIED | Kullanmayın. Yalnızca proto sürüm oluşturma için. |
SUCCESS | Test matrisi çalıştırması başarılı oldu, örneğin:
|
FAILURE | Örneğin bir çalıştırma başarısız oldu:
|
INCONCLUSIVE | Beklenmedik bir şey oldu. Çalıştırmanın yine de başarısız olduğu düşünülmelidir ancak bu muhtemelen geçici bir sorundur ve testin yeniden çalıştırılması başarılı olabilir. |
SKIPPED | Örneğin tüm testler atlandı:
|
Yöntemler | |
---|---|
| Bir test matrisindeki tamamlanmamış test yürütmelerini iptal eder. |
| Verilen spesifikasyonlara göre bir test matrisi oluşturur ve çalıştırır. |
| Bir test matrisinin durumunu ve oluşturulduktan sonra yapılan uygulamaları kontrol eder. |