OmniLab ATS, Android geliştiricilerinin ve test mühendislerinin Android Compatibility Test Suite (CTS) gibi standart Android test paketlerini çalıştırmak için kullanıcı arayüzü kullanabileceği bir test aracıdır. Bu araç, Trade Federation (TF) ve Google Mobly gibi çeşitli test çerçeveleri için web arayüzü görevi görür. Bu sayede, minimum kurulumla bir dizi test cihazında CTS ve çeşitli cihaz testleri çalıştırabilir, ayrıca testleri sürekli olarak çalıştırmak için bir program oluşturabilirsiniz.
OmniLab ATS 2.0'a giriş
OmniLab ATS 2.0, temel test işlemi altyapısını Trade Federation'dan OmniLab'e taşır. Bu değişiklik, OmniLab ATS 1.0 kullanıcı arayüzünü ve iş akışlarını korurken daha sağlam ve verimli bir arka uç sunar.
OmniLab ATS 2.0'ın temel avantajları:
- Modernize edilmiş altyapı: Daha iyi kararlılık ve performans için OmniLab platformundan yararlanır.
- Sorunsuz geçiş: Web kullanıcı arayüzünde veya temel test işlemi iş akışlarında değişiklik yapılmaz.
- Geleceğe hazır: Google'ın birleştirilmiş test altyapısıyla uyumlu olduğundan yeni özelliklerin daha hızlı benimsenmesini sağlar.
OmniLab ATS 2.0, toplu test planı güncellemeleri ve gelişmiş cihaz tahsisi gibi yeni özellikler içerir. Güncellemeler için sürüm notlarını inceleyin.
OmniLab ATS 2.0'a yükseltme:
OmniLab ATS 2.0'ı kullanmak için istasyonunuzu R52 derlemesine veya daha yeni bir sürüme yükseltmeniz gerekir. Yeni Omnilab ATS 2.0'a geçmek için --force_ats_version 2 işaretini, en son derlemeye yükseltmek için ise mtt start komutuyla --force_update işaretini kullanın:
mtt start --force_ats_version 2 --force_update
Geçiş döneminde, OmniLab ATS 2.0 özelliklerini içeren en son kararlı derlemeye erişmek için dogfood etiketini kullanmanızı öneririz:
mtt start --force_ats_version 2 --tag dogfood --force_update
OmniLab ATS 2.0'ı 2026'nın 3. çeyreğinde varsayılan sürüm yapmayı planlıyoruz. OmniLab ATS 1.0'ı 2026'nın sonuna kadar kullanımdan kaldırmayı planlıyoruz.
Belirli güncellemeler, bilinen farklılıklar ve yükseltme kılavuzu hakkında daha fazla bilgi için OmniLab ATS 2.0 Yükseltme Kılavuzu'nu inceleyin.
OmniLab ATS'yi kurma
Bu bölümde, OmniLab ATS'nin nasıl yüklenip kurulacağı açıklanmaktadır.
OmniLab ATS, şu konumlardaki kaynak kodunu kullanır:
- OmniLab ATS kaynak kodu
- TradeFed Cluster kaynak kodu
OmniLab ATS'yi yükleme
Çalıştırdığınız test paketleri için donanım ve yazılım gereksinimlerini karşılayın.
CTS ile ilgili şartları source.android.com adresinde bulabilirsiniz.
OmniLab ATS için ek donanım gereksinimi yoktur ancak başlangıç noktası olarak CTS ana makine gereksinimini kullanmanızı öneririz.
OmniLab ATS'yi iki şekilde yükleyebilirsiniz:
- Yükleyici programını çalıştırın.
- Birden fazla program ve kaynak yüklemeyi gerektiren manuel yükleme
Yükleyici programıyla yükleme
Yükleyici programı, Ubuntu 22.04 ve sonraki sürümlerde desteklenir. Yükleyici, OmniLab ATS'yi çalıştırmak için gereken tüm programları ve kaynakları yükleyip yapılandırır.
Yükleme programını kullanmak için:
Yükleyici programını çalıştırın:
curl https://storage.googleapis.com/android-mtt.appspot.com/prod/install.sh | bash
OmniLab ATS KSA'nın yüklü sürümünü kontrol etmek için
mtt versionkomutunu çalıştırın.
Manuel olarak yükleme
Docker'ı yükle
Linux makinenize Docker Community Edition'ı (CE) yükleme talimatlarını uygulayın.
Docker'ı kök olmayan bir kullanıcı olarak yönetmek için yükleme sonrası adımları uygulayın.
İzin değişikliklerinin geçerli olması için terminal pencerenizi yeniden başlatmanız veya oturumu kapatıp tekrar açmanız gerekebilir.
Python 3'ü yükleme
OmniLab ATS CLI için Ubuntu 22.04 veya sonraki bir sürüm gerekir. CLI, Python 3.10 ila 3.13 sürümleriyle doğrulanmıştır.
Python 3'ü yüklemek için şu komutları çalıştırın:
sudo apt-get updatesudo apt install python3 python3-distutils
Standart dağıtımınızda bulunmayan bir Python 3 sürümüne ihtiyacınız varsa öncelikle aşağıdakilerden birini yaparak Python 3 deposunu ekleyin:
Bu komutu çalıştırın:
sudo add-apt-repository ppa:deadsnakes/ppa
Depoyu kaynaktan derleyip yükleyin.
Belirli bir Python 3 sürümünü (ör. 3.10) yüklemek için aşağıdaki komutları çalıştırın:
sudo apt-get updatesudo apt install python3.10 python3.10-distutils
OmniLab ATS KSA'yı edinme
Komut satırı arayüzü (CLI) paketini buradan indirebilirsiniz.
OmniLab ATS'yi başlatma
Aşağıdaki komutla OmniLab ATS'yi başlatın:
mtt start
Kullanıcı arayüzünün ilk kez başlatılması birkaç dakika sürebilir. CLI, kullanıcı arayüzüne tarayıcıdan erişmek için bir web URL'si gösterir. Varsayılan olarak web URL'si localhost:8000 şeklindedir. Gerekirse başlangıçta varsayılan bağlantı noktasını --port işaretiyle değiştirebilirsiniz.
Daha yeni bir sürüm varsa mevcut sürüme güncelleyebilirsiniz. En son sürümler için Sürüm Notları'na göz atabilirsiniz.
Mevcut sürüme güncellemek için şu komutu çalıştırın:
mtt start --force_update
Uygulamayı durdurmak için şu komutu çalıştırın:
mtt stop
Diğer komutların listesini görüntülemek için şunu kullanın:
mtt --help
Veritabanını yedekleme ve geri yükleme
OmniLab ATS veritabanını yedeklemek için uygulamayı durdurun ve aşağıdaki komutu çalıştırın. Bu komut, mevcut veritabanını ana dizininizdeki mtt-backup.tar adlı bir TAR dosyasına yedekler:
docker run --rm --mount source=mtt-data,target=/data -v ~:/out ubuntu bash -c "cd /data && tar cvf /out/mtt-backup.tar ."
Geri yüklemek için uygulamayı başlatmadan önce aşağıdaki komutu çalıştırın:
docker run --rm --mount source=mtt-data,target=/data -v ~:/out ubuntu bash -c "cd /data && tar xvf /out/mtt-backup.tar"
Kurulum Sihirbazı
OmniLab ATS'yi yükleyip ilk kez çalıştırdıktan sonra Kurulum Sihirbazı, aracı ortamınıza göre özelleştirmenize yardımcı olacak birkaç adımda size yol gösterir. Burada yaptığınız değişiklikleri daha sonra Ayarlar sayfasından yeniden yapılandırabilirsiniz.
Yapılandırma yedeğini geri yükleme
Başka bir OmniLab ATS ana makinesinden yedeklenmiş bir yapılandırma dosyanız varsa Dosya Yükle düğmesini tıklayarak dosyayı yükleyebilir ve bu ana makineden değiştirilen yapılandırmaları kopyalayabilirsiniz.
Şekil 1. Yapılandırma yedeğini geri yükleme
Varsayılan hizmet hesabını ayarlama
OmniLab ATS'nin kaynaklarınıza (ör. Google Cloud Storage, Google Drive) erişirken varsayılan olarak kullandığı bir hizmet hesabı ayarlayabilirsiniz. Hizmet hesabınızın kimliğini doğrulamak için Hizmet Hesabı Anahtarı Yükle'yi tıklayın ve hizmet hesabınızın JSON anahtar dosyasını seçin.
Şekil 2. Hizmet hesabı ayarlanıyor.
Hizmet hesabının kimliği başarıyla doğrulandığında, hesabın e-posta adresi sayfanın sağ üst köşesinde görünür. Hizmet hesabını değiştirmek için hesap adını tıklayın, mevcut varsayılan hesabı kaldırın ve yeni bir hizmet hesabı anahtarı yükleyin.
Şekil 3. Hizmet hesabını değiştirme
Yapılandırma kümelerini içe aktarma
Yapılandırma grubu, ilgili cihaz işlemleri ve derleme kanalları dahil olmak üzere test paketlerini çalıştırmak için kullanılan bir yapılandırma paketidir. Yapılandırma grupları, belirli bir Google Cloud Storage (GCS) paketinde barındırılır. GCS derleme kanalının kimliğini Google Hesabınızla doğruladıktan sonra, kullanabileceğiniz tüm yapılandırma gruplarının listesini görürsünüz.
Test İstasyonu ana makinenize eklemek istediğiniz yapılandırma gruplarını seçin ve Seçilenleri İçe Aktar'ı tıklayın.
Şekil 4. Yapılandırma grubu içe aktarılıyor.
Kablosuz ağ ayarlarını dahil etme
Bazı CTS testleri, cihazınızın bir kablosuz hotspot'a bağlanmasını gerektirir. Kablosuz ağınızı seçmek için Kablosuz SSID'sini ve isteğe bağlı olarak Kablosuz PSK'yi girin.
Şekil 5. Kablosuz hotspot ayarları.
Kurulum Sihirbazı tamamlandıktan sonra sayfa, yeni ayarlar uygulanmış olarak yeniden yüklenir.
Cihaz bağlayın
Bir cihazı test için kullanmak istiyorsanız USB üzerinden hata ayıklama etkinleştirilmelidir. Hata ayıklamayı etkinleştirmek için:
Geliştirici seçeneklerini ve hata ayıklamayı etkinleştirme bölümündeki talimatları uygulayın.
Özel ADB anahtarları önceden yüklenmiş test Android derlemeleri kullanmayı planlıyorsanız özel
.adb_keydosyalarını~/.android/dizinine yerleştirin.Dosyalar otomatik olarak yüklenir ve bu derlemeleri çalıştıran cihazlar için cihaz flaşlandıktan sonra USB üzerinden hata ayıklamayı otomatik olarak etkinleştirmek üzere ADB'ye iletilir.
USB kullanarak cihazı ana makineye bağlayın.
Cihaz, web arayüzü yenilendikten sonra bir dakika içinde OmniLab ATS Cihazları sekmesinde görünür. Cihazların durumunu bu sekmede de görüntüleyebilirsiniz.
Şekil 6. Cihaz bağlama
Farklı cihaz durumları şunlardır:
- Kullanılabilir: Cihaz bağlı ve test çalıştırmaya hazır.
- Ayrılmış: Cihaz bağlı ve test çalıştırıyor. Her cihaz aynı anda yalnızca bir test çalıştırabilir. Bu nedenle, cihazın yeni bir test çalıştırmadan önce mevcut testini tamamlaması gerekir.
Test çalıştır
Test seçin
OmniLab ATS, önceden paketlenmiş bir dizi CTS yapılandırmasıyla birlikte gelir. Bu testlerden birini çalıştırmak için Test Paketleri sekmesine gidin ve seçilen test için Testi çalıştır'ı tıklayın.
Şekil 7. Test seçme
Testleri düzenlemek veya yeni testler eklemek için Test ekleme bölümüne bakın.
Test çalıştırmasını yapılandırma
Bu test çalıştırmasında kullanılacak parametreleri düzenleyin. Çoğu parametre, seçilen test yapılandırmasında tanımlanan değerlerle önceden doldurulur.
Bu adım varsayılan değerler kullanılarak tamamlanabilir ancak Maksimum Yeniden Deneme ve Komut gibi parametrelerden herhangi birini ihtiyaçlarınıza göre değiştirebilirsiniz.
Şekil 8. Test çalıştırması yapılandırma
Test çalıştırma parametreleri şunlardır:
- Ad: Çalıştırmak istediğiniz test paketinin adı.
- Çalıştırma Sayısı: Bu test çalıştırmasının planlandığında kaç kez yürütülmesi gerektiği. Test çalıştırmaları, kapasite varsa 20'ye kadar test çalıştırmasını paralel olarak çalıştıran Trade Federation kullanılarak planlanır.
- Maksimum Yeniden Deneme: En az bir test başarısız olursa test çalıştırmasının yeniden denenebileceği maksimum sayı. Bu değer, kararsız testleri işlemek için tam bir CTS çalıştırmasında genellikle 4-6 yeniden deneme olarak ayarlanır.
- Sıra Zaman Aşımı: Bir test çalıştırması çok uzun süre Sıraya Alındı durumunda kalırsa otomatik olarak iptal edilir. İptal işleminden önce beklenecek süreyi buradan belirtebilirsiniz. Varsayılan sıklık 24 saattir.
Komut: Test paketini çalıştırma komutu. Buraya ek komut satırı bağımsız değişkenleri girebilirsiniz. Örneğin, CTS 8.1'de belirli bir modülü çalıştırmak için:
cts-suite -m ShortModuleNameYeniden Deneme Komutu: Bir test paketini yeniden deneme komutu. Buraya ek komut satırı bağımsız değişkenleri ekleyebilirsiniz. Örneğin, yalnızca CTS 8.1'deki belirli bir modülü yeniden denemek için şunu kullanın:
cts --retry 0 -m ShortModuleNameYeniden deneme bağımsız değişkenleri, ilk komutla kullanılabilenlerden farklı olabilir. Bu nedenle, seçilen test paketi için resmi sitede desteklenen parametreleri kontrol edin.
Önceki Test Çalıştırması: Önceki bir test çalıştırmasını yeniden çalıştırmak istiyorsanız:
Yerel: Çalıştırma mevcut ana makinede başlatıldıysa test çalıştırmasının ayrıntılarını görüntülerken görülen test çalıştırması kimliğini girin.
9.şekil Yerel önceki test çalıştırması.
Uzak: Çalıştırma farklı bir ana makinede başlatıldıysa Uzak'ı seçip Test Sonuçları Dosyasını Yükle'yi tıklayarak ve yerel depolama alanınızdan bir dosya seçerek test sonuçları dosyasını yükleyin.
Şekil 10. Önceki test çalıştırmasını kaldırın.
Belirli cihazlarda kullanılabilir.
Test paketini çalıştırmak için tahsis edilecek cihazları seçmek üzere onay kutularını tıklayın. Parça sayısı, seçilen cihaz sayısıyla eşleşecek şekilde otomatik olarak değişmelidir.
Şekil 11. Cihazları seçme
Cihazları, cihaz seri numaraları dışındaki özelliklere göre seçmek için "Cihaz Özellikleri"ni manuel olarak girebilirsiniz. Örneğin, ürün adı "bramble" olan 3 cihazı seçmek için aşağıdakini girin:
product:bramble;product:bramble;product:bramble
Desteklenen özellikler şunlardır:
- build_id
- device_serial
- device_type
- ana makine adı
- ürün
- product_variant
- sim_state
Test çalıştırmasının yürütülebilmesi için seçilen tüm cihazların Kullanılabilir durumunda olması gerekir. Test çalıştırması yürütüldüğünde tüm cihazlar Ayrıldı durumuna geçer. Cihazların kullanılabilir hale gelmesini bekleyen test çalıştırmaları Sıraya alındı durumundadır.
Cihaz işlemleri ekleme
Cihaz işlemleri, her test çalıştırmasından önce yürütülebilen komut dosyalarıdır. Yazılım yükleme ve yeniden başlatma gibi bazı cihaz işlemleri önceden yapılandırılmış olarak gelir. Yeni cihaz işlemleri oluşturmak için Yeni cihaz işlemi oluşturma başlıklı makaleyi inceleyin.
Şekil 12. Cihaz işlemleri.
Bir test çalıştırmasına cihaz işlemi eklemek için Yeni işlem ekle'yi tıklayın, eklenecek işlemlerin onay kutularını işaretleyin ve İşlem Ekle'yi tıklayın. Cihaz işlemleri sırayla gerçekleştirilir. İşlemleri sürükleyerek yeniden sıralayabilirsiniz.
Şekil 13. İşlemler yeniden sıralanıyor.
Test kaynaklarını ayarlama
Test kaynakları, test çalıştırması için gereken dosyalardır. Örneğin, CTS'yi çalıştırmak için bir android-cts*.zip dosyası gerekir ve bir cihazı flash'lamak için derleme görüntüsünü sağlamanız gerekir.
Test paketi ZIP dosyasının indirme URL'si, varsayılan olarak iş ortaklarına verilen Google Drive bağlantılarına yönlendirmelidir. Göz at'ı tıklayarak farklı bir dosya seçebilirsiniz. Pop-up pencerede, dosya indirme bağlantısı girebilir, kimliği doğrulanmış bir derleme kanalındaki dosyayı kullanabilir veya yerel depolama alanından kullanmak üzere dosya yükleyebilirsiniz.
Şekil 14. Test kaynakları
Aşağıda, web URL'sine göre test kaynağı seçmek için kullanılan pop-up pencere gösterilmektedir. İndirme URL'si bağlantısını girip Seç düğmesini tıklayarak seçimi onaylayabilirsiniz.
15. şekil. Test Kaynağı Seçici - Web URL'si.
Google Drive, Google Cloud Storage (GCS) veya diğer kanallara kaynak yüklediyseniz ilgili kanalın sekmesine gidip kaynakları oradan da seçebilirsiniz. Google Drive'dan kaynak seçmeyle ilgili bir örneği aşağıda bulabilirsiniz.
Şekil 16. Test Resource Selector - Google Drive.
Dosya seçmenin yanı sıra Dosya adı alanında joker karakterler de desteklenir. Belgelere buradan ulaşabilirsiniz.
Şekil 17. Test Kaynağı Seçici - Joker karakter kalıbı desteği.
OmniLab ATS'nin yerel dosya depolama alanından da dosya seçebilirsiniz. Bu depolama alanına dosya yükleyebilir veya yerel dosya ve dizinleri doğrudan kullanabilirsiniz.
Şekil 18. Test Kaynağı Seçici - Yerel dosya deposu.
Yeniden çalıştırma yapılandırmaları ekleme
Birincil çalıştırma tamamlandıktan sonra başlayan ve sonuçlarını yükleyen ancak farklı cihaz, işlem veya kaynaklar kullanabilen yeniden çalıştırmalar planlayabilirsiniz.
Şekil 19. Yeniden çalıştırma yapılandırmaları ekleniyor.
Test çalıştırması başlatma
Test çalıştırması için gereken bilgileri girdikten sonra Test Çalıştırmasını Başlat'ı tıklayın. Tüm bilgiler geçerliyse test çalıştırması başlar ve test çalıştırmasının ayrıntılarını ve ilerleme durumunu görüntüleyebileceğiniz bir sayfaya yönlendirilirsiniz.
Şekil 20. Test çalıştırması başlatılıyor.
Test planı oluşturma
Test planları, düzenli bir programa göre test çalıştırmaları oluşturmak için kullanılır. Örneğin, CTS 9.0'ı her gün saat 17:00'de çalıştırabilirsiniz. Yeni bir test planı oluşturmak için Yeni test planı oluştur'u tıklayın.
Şekil 21. Test planı oluşturma
Test planını yapılandırma
Test planının adını ve eklemek istediğiniz etiketleri girin. Ardından, kullanılacak bir program seçin.
- Manuel: Test planı, yalnızca bir kullanıcı test planı listesi sayfasında Test planını çalıştır'ı tıkladığında test çalıştırmaları oluşturur.
- Periyodik: Test planı, seçilen periyodik programa göre test çalıştırmalarını otomatik olarak planlar. Örneğin, her gün saat 17:00'de çalıştırılacak bir test planlayabilirsiniz.
- Özel: Test planı, girilen cron ifadesine göre test çalıştırmalarını otomatik olarak planlar. Örneğin, her gün saat 17:00'de bir test çalıştırması planlamak için cron ifadesi
0 17 * * *şeklindedir.
Şekil 22. Test planı yapılandırma
Test paketi ekleme
+ Test çalıştırma yapılandırması ekle'yi tıklayarak test planı tarafından planlanmasını istediğiniz test paketlerini ekleyin. Ad açılır listesinden bir test paketi seçin ve Sonraki adım'ı tıklayın. Ardından, testi çalıştırmak istediğiniz cihazları seçin ve Yapılandırma Ekle'yi tıklayın. Her test planı için birden fazla yapılandırma ekleyebilirsiniz.
Şekil 23. Test çalıştırması yapılandırma
Cihaz işlemleri ekleme
Her test çalıştırmasından önce yürütülmesini istediğiniz cihaz işlemlerini ekleyin. Daha fazla bilgi için Cihaz işlemleri ekleme bölümüne bakın.
Şekil 24. Cihaz işlemleri ekleme
Test kaynaklarını ayarlama
Test planlarına test kaynakları eklemek, bunları ayrı test çalıştırmalarına eklemekle aynıdır. Daha fazla bilgi için Test kaynaklarını ayarlama bölümüne bakın.
Şekil 25. Test kaynakları ayarlanıyor.
Test çalıştırmalarını görüntüleme
Test çalıştırması listesi
Test Çalıştırmaları sayfasında planlanmış test çalıştırmalarının listesini görüntüleyin. Test çalıştırması hakkında daha fazla ayrıntı görmek için Görüntüle'yi tıklayın.
Filtre çubuğuna bir dize girip Enter tuşuna basarak da listeyi filtreleyebilirsiniz. Birden fazla filtreyi virgülle ayırarak kullanabilirsiniz. Filtre, Durum ve Oluşturulma tarihi hariç olmak üzere herhangi bir sütunda tam metni (alt dize eşleşmesi olmadan) içeren tüm satırları döndürür.
Boş bir filtre tüm satırları döndürür. Şu anda boş değer içeren satırları filtrelemenin bir yolu yoktur.
Şekil 26. Test çalıştırması listesi.
Test çalıştırması ayrıntıları
Test çalıştırmasının durum, günlükler ve sonuçlar gibi ayrıntılarını buradan görüntüleyebilirsiniz.
Şekil 27. Test çalıştırma ayrıntıları.
Test çalıştırması durumu
Test çalıştırmasının ilerleme durumu, Durum bölümünde gösterilir. İndirme ilerleme durumu, iptal nedeni veya hata mesajı gibi ilgili bir mesaj varsa bu mesaj da burada gösterilir.
Şekil 28. Test çalıştırma durumu.
Test çalıştırma durumları şunlardır:
- Beklemede: Gerekli kaynaklar indiriliyor.
- Sıraya alındı: Test, bir cihaz kullanılabilir olduğunda çalıştırılmaya hazırdır.
- Çalışıyor: Test, ayrılmış bir cihazda çalışıyordur.
- Tamamlandı: Test tamamlanmış ve sonuçları raporlanmıştır.
- İptal edildi: Test, kullanıcı tarafından iptal edildi veya kullanılabilir cihazlar bulunmaya çalışılırken zaman aşımına uğradı.
- Hata: Testin çalıştırılmasını engelleyen bir hata oluştu.
Test çalıştırmasını iptal etme
Test çalıştırması tamamlanmadıysa İptal'i ve ardından onay iletişim kutusunda Evet'i tıklayarak iptal edebilirsiniz. Test çalıştırmaları, queue_timeout_seconds alanından daha uzun süre Queued (Sırada) durumunda kalırsa da otomatik olarak iptal edilir. Çalışıyor durumundaki bir test çalıştırmasının iptal edilmesi birkaç dakika sürebilir.
Şekil 29. Test çalıştırmasını iptal etme
Test çalıştırması sonuçları
Test çalıştırması tamamlandıktan sonra sonuçlar toplanır ve gösterilir. Her çalıştırmanın okunu tıklayarak ek ayrıntıları görüntüleyebilirsiniz. Toplanan test yapılarını (ör. test_result.xml ve test_result_failures.html) görmek için Çıkış Dosyalarını Görüntüle'yi tıklayın.
Şekil 30. Test çalıştırma sonuçları.
Günlükler sekmesinde canlı ana makine ve Tradefed günlüklerini görüntüleyebilirsiniz.
Şekil 31. Günlükler sekmesi.
Modüllerin sonuçları Test Sonuçları sekmesinde yer alır.
Şekil 32. Test Sonuçları sekmesi.
Test kaynakları sekmesinde Aç'ı tıklayarak test kaynağı olarak kullanılan dosyaları indirebilirsiniz.
Şekil 33. Test kaynakları sekmesi.
create_time gibi test çalıştırmasının ayrıntılarını görmek için Yapılandırma sekmesine gidin.
Şekil 34. Yapılandırma sekmesi.
Gelişmiş özellikler
Yapılandırma dosyalarını yönetme
OmniLab ATS, testler, derleme kanalları ve cihaz işlemleri gibi önceden tanımlanmış seçenekleri yüklemek için YAML dilinde yazılmış yapılandırma dosyalarını kullanır. Örnek bir yapılandırma dosyası:
// example_file.yaml
tests:
- id : android.cts.9_0.arm
name: CTS 9.0 (ARM)
test_resource_defs:
- name: android-cts.zip
default_download_url: https://dl.google.com/dl/android/cts/android-cts-9.0_r7-linux_x86-arm.zip
test_resource_type: TEST_PACKAGE
command: cts
env_vars:
- name: TF_PATH
value: ${TF_WORK_DIR}/android-cts/tools:${TF_WORK_DIR}/android-cts/testcases
- name: LD_LIBRARY_PATH
value: ${TF_WORK_DIR}/android-cts/lib:${TF_WORK_DIR}/android-cts/lib64
setup_scripts:
output_file_patterns:
- android-cts/logs/latest/.*
- android-cts/results/latest/.*\.html
- android-cts/results/latest/compatibility_result\..*
- android-cts/results/latest/logo.png
- android-cts/results/latest/test_result.xml
result_file: test_result.xml
java_properties:
- name: CTS_ROOT
value: ${TF_WORK_DIR}
context_file_dir: android-cts/results/
context_file_pattern: '[\d_\.]+\.zip'
retry_command_line: retry --retry 0
runner_sharding_args: --shard-count ${TF_SHARD_COUNT}
build_channels:
- id: google_drive
name: Google Drive
provider_name: Google Drive
device_actions:
- id: flash
name: Flash
test_resource_defs:
- name: bootloader.img
test_resource_type: DEVICE_IMAGE
- name: radio.img
test_resource_type: DEVICE_IMAGE
- name: img.zip
test_resource_type: DEVICE_IMAGE
tradefed_target_preparers:
- class_name: com.android.tradefed.targetprep.RunHostCommandTargetPreparer
option_values:
- name: work-dir
values:
- ${TF_WORK_DIR}
- name: host-setup-command
values:
- adb -s $SERIAL reboot-bootloader
- fastboot -s $SERIAL flash bootloader bootloader.img
- fastboot -s $SERIAL flash radio radio.img
- fastboot -s $SERIAL reboot-bootloader
- fastboot -s $SERIAL -w update img.zip
- adb -s $SERIAL wait-for-device
- name: host-cmd-timeout
values:
- 10m
OmniLab ATS örneğinizi ayarlarken yapılandırmanızı dosya olarak dışa aktararak diğer kullanıcılarla paylaşabilirsiniz. Bunun için Ayarlar sayfasına gidin ve sağ üstteki Dışa aktar'ı tıklayın.
Şekil 35. Yapılandırma dosyası yönetimi.
Yapılandırma dosyanız indirildikten sonra dosyayı diğer kullanıcılarla paylaşın. İçe aktar'ı tıklayıp yapılandırma dosyasını seçerek yapılandırma dosyasını OmniLab ATS örneğine ekleyebilirler.
Yeni bir cihaz işlemi oluşturma
Cihaz işlemleri, cihaz kurulum sürecini otomatikleştirmek için kullanılır. İşlemler, her test çalıştırmasından önce (yeniden denemeler dahil) testin çalıştığı her cihazda yürütülen komut dosyalarıdır. Kullanılabilir cihaz işlemlerinin listesini görüntülemek için Ayarlar sayfasına gidin ve Cihaz İşlemleri sekmesini tıklayın. Yeniden başlatma ve flaşlama gibi çeşitli cihaz işlemleri önceden yapılandırılmış olarak gelir.
Şekil 36. Cihaz İşlemleri sekmesi.
Yeni bir cihaz işlemi ekleme
Yeni cihaz işlemi'ni tıklayın.
Şekil 37. Yeni cihaz işlem düğmesi.
Ad ve açıklama girin.
Şekil 38. Cihaz işlemi adı.
Hedef Hazırlayıcı Ekle'yi tıklayın.
Trade Federation Target Preparer'ın tam sınıf adını (ör.
com.android.tradefed.targetprep.RunHostCommandTargetPreparer) girin.
Şekil 39. Hedef hazırlayıcı ekleme
Kullanılabilir hedef hazırlayıcıların listesini com.android.tradefed.targetprep referansında bulabilirsiniz.
Şekil 40. Hedef Hazırlayıcı listesi.
Hedef hazırlayıcıyla kullanılacak seçenekleri ekleyin. Mevcut seçenekleri görüntülemek için AOSP'deki her hedef hazırlayıcının kaynak kodunda targetprep ifadesini kontrol edin:
Şekil 41. İşlem seçeneği örneği.
Seçenek eklemek için Hedef Hazırlayıcı Seçeneği Ekle'yi tıklayın ve gerekli değerleri girin.
Şekil 42. İşlem komutu örneği.
Cihaz işlemini yürütmek için gereken test kaynaklarını (ör. yükleme için derleme görüntüleri) tanımlayın. Kaynak tanımı eklemek için Test Kaynağı Ekle'yi tıklayın ve zorunlu alanları doldurun. Dosyalarınızın nerede olduğunu biliyorsanız Gözat'ı tıklayarak varsayılan bir indirme URL'si sağlayabilirsiniz. Hedef hazırlayıcılar dizini test kaynağı olarak kabul ediyorsa Sıkıştırmayı aç'ı seçin. Ardından, geçici çalışma dizini altındaki göreli Hedef dizini ve sıkıştırılacak Dosya Adları'nı belirtin. Dosya adı belirtilmezse test kaynağındaki tüm dosyaların sıkıştırması açılır.
Şekil 43. İşlem testi kaynakları.
Güncelle'yi tıklayın.
Şekil 44. Değişiklikleri kaydetme işlemi.
Testleri yönetme
Test düzenleme
Kayıtlı bir testi düzenlemek için Testler sayfasına gidin ve değiştirmek istediğiniz testin satırında Düzenle'yi tıklayın. Test yapılandırmasını değiştirdikten sonra Güncelle'yi tıklayın.
Şekil 45. Test düzenleniyor.
Yeni test ekle
Yeni bir test eklemek için Testler sayfasına gidin ve Yeni Test Oluştur'u tıklayın. Uygun bilgileri girin ve Create'i (Oluştur) tıklayın.
Şekil 46. Test oluşturma
Şekil 47. Test kopyalama
Ana makine yapılandırmalarını dışa aktarma
Bir ana makineyi yapılandırdıktan sonra ana makinenin yapılandırmalarını bir dosyaya aktarabilirsiniz. Kayıtlı yapılandırmaları kopyalamak için bu dosyayı diğer ana makinelere yükleyebilirsiniz.
Bir ana makinenin yapılandırmalarını dışa aktarmak için Ayarlar sayfasına gidin ve sağ üst köşedeki Dışa aktar'ı tıklayın.
Şekil 48. Ana makine yapılandırması dışa aktarılıyor.
Bir ana makine yapılandırma dosyasını içe aktarmak için Ayarlar sayfasına gidin ve sağ üst köşedeki İçe aktar'ı tıklayın.
Şekil 49. Ana makine yapılandırması içe aktarılıyor.
Yerel dosyaları ve dizinleri kullanma
R11 sürümünden itibaren $HOME/.ats_storage dizinindeki dosyalara OmniLab ATS'de otomatik olarak erişilebilir. Bir dosyayı kopyalayıp veya taşıyıp bu dizine ekleyin. Ardından, test çalıştırması planlarken dosyayı Yerel Dosya sekmesinden seçebilirsiniz.
cp /path/to/file $HOME/.ats_storage
Şekil 50. $HOME/.ats_storage dizininden bir dosya seçiliyor.
--mount_local_path işaretini kullanarak yerel dosya deposuna ek dizinler ekleyebilirsiniz.
mtt start --mount_local_path=/path/to/dir1 --mount_local_path=/path/to/dir2:renamed_dir2
Şekil 51. Yerel dosya deposuna ek dizinler bağlandı.
Çoklu düzenleyen modunu etkinleştirme
Çoklu ana makine modu sayesinde kullanıcılar, birden fazla ATS çalışan ana makinesindeki cihazları ve testleri yönetmek için tek bir ATS denetleyici ana makinesi kullanabilir.
Şekil 52. Çoklu ana makine modu mimarisi.
ATS denetleyicisini başlatmak için aşağıdaki komutu kullanın:
mtt start --operation_mode=ON_PREMISEDenetleyiciye
http://${CONTROLLER_HOSTNAME}:8000adresinden erişilebildiğini kontrol edin.Çalışanları başlatmak için aşağıdaki komutu kullanın:
mtt start --control_server_url=http://CONTROLLER_HOSTNAME:8000 --operation_mode=ON_PREMISE
Ağınız, ana makinelerin birbirleriyle iletişim kurmasına izin vermiyorsa ATS çalışanıyla ilgili aşağıdaki daha gelişmiş kurulum talimatlarını uygulamanız gerekir.
SSH tünellerini kullanarak iki ana makineyi birbirine bağlayın. Birincil ve dosya sunucusu bağlantı noktaları için bağlantı noktalarını seçin (ör. 9000 ve 9006).
ssh -L ATS_PORT:localhost:8000 -L FS_PORT:localhost:8006 CONTROLLER_HOSTNAMEATS'yi yapılandırıp başlatın.
DOCKER_GATEWAY_IP_ADDRESS=$(ip -4 addr show dev docker0 | grep -Eo 'inet [.0-9]+/' | grep -Eo '[.0-9]+')socat tcp-listen:ATS_PORT,bind="${DOCKER_GATEWAY_IP_ADDRESS}",reuseaddr,fork tcp-connect:127.0.0.1:ATS_PORT &socat tcp-listen:FS_PORT,bind="${DOCKER_GATEWAY_IP_ADDRESS}",reuseaddr,fork tcp-connect:127.0.0.1:FS_PORT &mtt start --control_server_url=http://${DOCKER_GATEWAY_IP_ADDRESS}:ATS_PORT \ --control_file_server_url=http://${DOCKER_GATEWAY_IP_ADDRESS}:FS_PORT \ --operation_mode=ON_PREMISE
Dosya temizleyici
Dosya temizleyici, kullanıcı tarafından tanımlanan yapılandırmalara göre dosyaları temizlemek için saatlik olarak çalışan bir cron işidir. ATS'de, test çalıştırma sonuçlarını arşivlemek ve geçici dosyaları silmek için iki varsayılan yapılandırma bulunur. Bu kılavuzda, dosyalarınızı etkili bir şekilde yönetmek için politikaları ve yapılandırmaları nasıl özelleştireceğiniz açıklanmaktadır.
Politikalar
Politika, dosya veya dizinlerde gerçekleştirilecek işlemi ve hedefleri seçme ölçütlerini tanımlar. Kullanılabilir işlemler tabloda gösterilir:
| İşlem türü | Parametreler |
|---|---|
ARCHIVE | remove_file: true ise arşivledikten sonra dosyayı kaldırın. |
DELETE |
Ölçütler, dosya özelliklerine ve sistem bilgilerine göre belirlenir. Kullanılabilir ölçütler tabloda gösterilir:
| Ölçüt türü | Açıklama | Parametreler |
|---|---|---|
LAST_MODIFIED_TIME | Dosyaları son değiştirilme tarih ve saatine göre filtreleyin. | ttl: Çeşitli zaman ifadeleri desteklenir. Örneğin, 10m, 2h, 7 days, 4w. Desteklenen biçimler için pytimeparse sayfasına bakın. |
LAST_ACCESS_TIME | Dosyaları son erişim tarih ve saatine göre filtreleyin. | LAST_MODIFIED_TIME ile aynı. |
NAME_MATCH | Normal ifade kullanarak dosyaları adlarına göre filtreleyin. | pattern: Normal ifade. Örneğin, sonuç zip dosyalarını eşleştirmek için [a-f0-9]{8}-([a-f0-9]{4}-){3}[a-f0-9]{12}\.zip. |
SYSTEM_AVAILABLE_SPACE | Sistemdeki kullanılabilir alana göre işlemleri tetikleyin. | threshold: Kullanılabilir alan eşiğin altına düştüğünde işlemi tetikleyin. Örneğin, 200(B), 200KB, 200MB, 200GB, 2TB. |
Şekil 53. Yeni bir dosya temizleyici politikası ekleyin.
Yapılandırmalar
Yapılandırma, bir veya daha fazla politikayı belirli dizinlerle birleştirir. Belirtilen dizinlerdeki dosyalar ve dizinler, tanımlanan politikalara göre işlenir. Politikalar, yapılandırmada göründükleri sırayla uygulanır.
Tüm hedef dizinler /data dizininin altında bulunmalıdır. Yapılandırmanızda hedef dizin logs olarak belirtiliyorsa bu, /data/logs olarak yorumlanır.
Şekil 54. Dosya temizleyici yapılandırmasını düzenleyin.
Sıfırla
Ayarları Sıfırla'yı tıkladığınızda dosya temizleyici yapılandırması varsayılan durumuna geri döner. Bu işlem, TÜM özel öğeleri temizler.
Şekil 55. Dosya temizleyici ayarlarını sıfırlayın.
Destek
Hata raporları
OmniLab ATS'ye katkınız, aracın geliştirilmesine yardımcı olur. Bu nedenle, görüşlerinizi bizimle paylaşmanızı istiyoruz. En son sürümle ilgili ayrıntılar için OmniLab ATS sürüm notlarına bakın. Hataları bildirmek veya önerilerde bulunmak için hata raporu gönderin. İş ortakları, hataları veya önerileri iş ortağı kanallarını kullanarak bildirmelidir.