OmniLab Android Test İstasyonu

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'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ı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:

  1. Yükleyici programını çalıştırın:

    curl https://storage.googleapis.com/android-mtt.appspot.com/prod/install.sh | bash
    
  2. OmniLab ATS KSA'nın yüklü sürümünü kontrol etmek için mtt version komutunu çalıştırın.

Manuel olarak yükleme

Docker'ı yükle
  1. Linux makinenize Docker Community Edition'ı (CE) yükleme talimatlarını uygulayın.

  2. Docker'ı kök olmayan bir kullanıcı olarak yönetmek için yükleme sonrası adımları uygulayın.

  3. İ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 update
sudo 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 update
sudo 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.

Yapılandırma Yedeğini Geri Yükleme

Ş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.

Hizmet Hesabı Ayarlama

Ş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.

Hizmet hesabını değiştirme

Ş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.

Yapılandırma Kümelerini İçe Aktarma

Ş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.

Kablosuz Ayarları

Ş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:

  1. Geliştirici seçeneklerini ve hata ayıklamayı etkinleştirme bölümündeki talimatları uygulayın.

  2. Özel ADB anahtarları önceden yüklenmiş test Android derlemeleri kullanmayı planlıyorsanız özel .adb_key dosyaları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.

  3. 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.

    Cihaz bağlama

    Ş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.

Test seçin

Ş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.

Test Çalıştırmasını Yapılandırma

Ş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 ShortModuleName
    
  • Yeniden 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 ShortModuleName
    

    Yeniden 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.

      Yerel Önceki Test Çalıştırması

      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.

      Önceki test çalıştırmasını kaldır

      Ş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.

Cihazları Seç

Ş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.

Cihaz İşlemleri

Ş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.

İşlem ekleme

Ş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.

Test Kaynakları

Ş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.

Test Resource Selector - Web URL

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.

Test Kaynağı Seçici - Google Drive

Ş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.

Test Kaynağı Seçici - Joker Karakter Deseni Desteği

Ş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.

Test Kaynağı Seçici - Yerel Dosya Deposu

Ş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.

Yeniden Çalıştırma Yapılandırmaları Ekleme

Ş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.

Test Çalıştırmasını Başlat

Ş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.

Test Planı Oluşturma

Ş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.

Test planını yapılandırma

Ş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.

Test Çalıştırmasını Yapılandırma

Ş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.

Cihaz İşlemleri ekleme

Ş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.

Test kaynaklarını ayarlama

Ş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.

Test Çalıştırması Listesi

Ş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.

Test Çalıştırma Ayrıntıları

Ş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.

Test Çalıştırma Durumu

Ş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.

Test Çalıştırmasını İptal Et

Ş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.

Test Çalıştırma Sonuçları

Şekil 30. Test çalıştırma sonuçları.

Günlükler sekmesinde canlı ana makine ve Tradefed günlüklerini görüntüleyebilirsiniz.

Test Çalıştırma Günlükleri

Şekil 31. Günlükler sekmesi.

Modüllerin sonuçları Test Sonuçları sekmesinde yer alır.

Test Sonuçları sekmesi

Şekil 32. Test Sonuçları sekmesi.

Test kaynakları sekmesinde Aç'ı tıklayarak test kaynağı olarak kullanılan dosyaları indirebilirsiniz.

Test Kaynakları Sekmesi

Ş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.

Test Yapılandırması sekmesi

Ş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.

Yapılandırma Dosyası Yönetimi

Ş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.

Cihaz İşlemleri sekmesi

Şekil 36. Cihaz İşlemleri sekmesi.

Yeni bir cihaz işlemi ekleme

  1. Yeni cihaz işlemi'ni tıklayın.

    Yeni Cihaz İşlemi düğmesi

    Şekil 37. Yeni cihaz işlem düğmesi.

  2. Ad ve açıklama girin.

    Cihaz İşlemi adı

    Şekil 38. Cihaz işlemi adı.

  3. Hedef Hazırlayıcı Ekle'yi tıklayın.

  4. Trade Federation Target Preparer'ın tam sınıf adını (ör. com.android.tradefed.targetprep.RunHostCommandTargetPreparer) girin.

    Hedef Hazırlayıcı Ekleme

    Şekil 39. Hedef hazırlayıcı ekleme

    Kullanılabilir hedef hazırlayıcıların listesini com.android.tradefed.targetprep referansında bulabilirsiniz.

    Hedef Hazırlayıcı Listesi

    Şekil 40. Hedef Hazırlayıcı listesi.

  5. 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:

    İşlem Seçeneği Örneği

    Şekil 41. İşlem seçeneği örneği.

  6. Seçenek eklemek için Hedef Hazırlayıcı Seçeneği Ekle'yi tıklayın ve gerekli değerleri girin.

    İşlem Komutu Örneği

    Şekil 42. İşlem komutu örneği.

  7. 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.

    İşlem Testi Kaynakları

    Şekil 43. İşlem testi kaynakları.

  8. Güncelle'yi tıklayın.

    Değişiklikleri Kaydetme İşlemi

    Ş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.

Test düzenleme

Ş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.

Test oluşturma

Şekil 46. Test oluşturma

Test kopyalama

Ş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.

Ana makine yapılandırmaları dışa aktarılıyor

Ş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.

Ana makine yapılandırmaları içe aktarılıyor

Ş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

Yerel dosya seçme

Ş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

Ek bağlı dizinler

Ş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.

Çoklu ana makine modu mimarisi

Şekil 52. Çoklu ana makine modu mimarisi.

  1. ATS denetleyicisini başlatmak için aşağıdaki komutu kullanın:

    mtt start --operation_mode=ON_PREMISE
    
  2. Denetleyiciye http://${CONTROLLER_HOSTNAME}:8000 adresinden erişilebildiğini kontrol edin.

  3. Ç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.

  1. 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_HOSTNAME
    
  2. ATS'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
ARCHIVEremove_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çıklamaParametreler
LAST_MODIFIED_TIMEDosyaları 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_TIMEDosyaları son erişim tarih ve saatine göre filtreleyin.LAST_MODIFIED_TIME ile aynı.
NAME_MATCHNormal 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_SPACESistemdeki 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.

Yeni dosya temizleyici politikası

Ş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.

Dosya temizleyici yapılandırmasını düzenle

Ş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.

Dosya temizleyici ayarlarını sıfırlama

Ş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.