OmniLab ATS, Android geliştiricilerinin ve test mühendislerinin Android Uyumluluk Test Paketi (CTS) gibi standart Android test paketlerini çalıştırmak için kullanıcı arayüzü kullanmak üzere kullanabileceği bir test aracıdır. Bu araç, Trade Federation (Trade Federation (Trade Federation) ve Google Mobly gibi çeşitli test çerçeveleri için web arayüzü işlevi görür. Bu sayede, minimum kurulum düzeyiyle bir grup test cihazında CTS ve çok cihazlı testler çalıştırabilir ve testlerin sürekli olarak çalıştırılacağı bir program oluşturabilirsiniz.
OmniLab ATS'yi ayarlama
Bu bölümde, OmniLab ATS'nin nasıl yükleneceği ve ayarlanacağı açıklanmaktadır.
OmniLab ATS, aşağıdaki konumlardaki kaynak kodlarını kullanır:
- OmniLab ATS kaynak kodu
- TradeFed Cluster kaynak kodu
OmniLab ATS'yi yükleme
Çalıştırdığınız test paketleriyle ilgili tüm donanım ve yazılım gereksinimlerini yerine getirin.
CTS ile ilgili koşulları source.android.com adresinde bulabilirsiniz.
OmniLab ATS için ek donanım gereksinimi yoktur ancak başlangıç noktası olarak CTS ana makine şartını kullanmanızı öneririz.
OmniLab ATS'yi iki şekilde yükleyebilirsiniz:
- Yükleyici programını çalıştırın.
- Manuel olarak yükleme. Bu işlem için birden fazla program ve kaynak yüklemeniz gerekir.
Yükleyici programıyla yükleme
Ubuntu 20.04 ve sonraki sürümlerde yükleyici programı, OmniLab ATS'yi çalıştırmak için gereken tüm programları ve kaynakları yükler ve 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 CLI'nin yüklü sürümünü kontrol etmek için
mtt version
komutunu çalıştırın.
Manuel olarak yükleme
Docker'ı yükleme
Linux makinenize Docker Community Edition (CE) yükleme talimatlarını uygulayın.
Docker'ı root 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 oturum açmanız gerekebilir.
Python 3'ü yükleme
OmniLab ATS CLI, Python'un 3.7-3.11 arasındaki sürümleriyle doğrulanır.
Ubuntu 16.04 veya önceki sürümlerde, önce aşağıdakilerden birini yaparak Python 3'ün deposunu ekleyin:
Bu komutu çalıştırın:
sudo add-apt-repository ppa:deadsnakes/ppa
Depoyu kaynaktan derleyip yükleyin.
Python 3'ü yüklemek için şu komutları çalıştırın:
sudo apt-get update
sudo apt install python3 python3-distutils
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 CLI'yi alma
Komut satırı arayüzü (KSA) paketini buradan indirin.
OmniLab ATS'yi başlatma
Aşağıdaki komutla OmniLab ATS'yi başlatın:
mtt start
Kullanıcı arayüzü ilk başlatıldığında, görünmesi birkaç dakika sürebilir. CLI, bir tarayıcıda kullanıcı arayüzüne erişmek için bir web URL'si gösterir. Varsayılan web URL'si localhost:8000
'tir. Gerekirse --port
işaretini kullanarak başlangıçta varsayılan bağlantı noktasını 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.
Geçerli 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 mevcut veritabanını ana dizininizde mtt-backup.tar
adlı bir TAR dosyasına yedekleyen 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 cvf /out/mtt-backup.tar ."
Uygulamayı başlatmadan önce aşağıdaki komutu çalıştırarak geri yükleme yapı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 ilk kez yükleyip çalıştırdıktan sonra Kurulum Sihirbazı, aracı ortamınıza göre özelleştirmenize yardımcı olmak için sizi birkaç adımda yönlendirir. Burada yaptığınız değişiklikler daha sonra Ayarlar sayfasından yeniden yapılandırılabilir.
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 bu ana makinede değiştirilen tüm yapılandırmaları kopyalamak için dosyayı yükleyebilirsiniz.
Şekil 1. Yapılandırma Yedeklemesini 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 kullanacağı bir hizmet hesabı ayarlayabilirsiniz. Hizmet hesabınızın kimliğini doğrulamak için Hizmet Hesabı Anahtarını Yükle'yi tıklayın ve hizmet hesabınızın JSON anahtar dosyasını seçin.
Şekil 2. Hizmet hesabını ayarlama.
Hizmet hesabının kimliği başarıyla doğrulandığında, sayfanın sağ üst köşesinde hesap e-posta adresi 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ı da dahil olmak üzere test paketlerini çalıştırmak için bir yapılandırma paketidir. Yapılandırma kümeleri, 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 tüm yapılandırma gruplarını seçin ve Seçilenleri İçe Aktar'ı tıklayın.
4.Şekil Yapılandırma grubunu içe aktarma.
Kablosuz ayarlarını dahil etme
Bazı CTS testleri için cihazınızın bir kablosuz hotspot'a bağlanması gerekir. Kablosuz ağınızı seçmek için Kablosuz SSID'yi ve isteğe bağlı Kablosuz PSK'yi girin.
5. Şekil. Kablosuz hotspot ayarları.
Kurulum Sihirbazı tamamlandıktan sonra sayfa, yeni ayarlar uygulanmış şekilde yeniden yüklenir.
Cihaz bağla
Test amacıyla cihaz kullanmak için USB üzerinden hata ayıklama etkinleştirilmelidir. Hata ayıklamayı etkinleştirmek için:
Geliştirici seçeneklerini etkinleştirme ve hata ayıklama başlıklı makaledeki talimatları uygulayın.
Özel ADB anahtarlarıyla önceden yüklenmiş test Android derlemelerini kullanmayı planlıyorsanız özel
.adb_key
dosyalarını~/.android/
dizininin altına koyun.Dosyalar otomatik olarak yüklenir ve cihaz bu derlemeleri çalıştıracak şekilde yüklendikten sonra USB hata ayıklama özelliğini otomatik olarak etkinleştirmek için ADB'ye iletilir.
Cihazı, USB kullanarak ana makineye bağlayın.
Cihaz, web arayüzü yenilendikten sonraki bir dakika içinde OmniLab ATS Cihazlar sekmesinde görünür. Bu sekmede cihazların durumunu da görüntüleyebilirsiniz.
Şekil 6. Bir cihaza bağlanılıyor.
Farklı cihaz durumları şunlardır:
- Kullanılabilir: Cihaz bağlı ve test çalıştırmaya hazır.
- Ayrıldı: Cihaz bağlı ve bir 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.
Testi çalıştırma
Test seçin
OmniLab ATS, önceden paketlenmiş bir dizi CTS yapılandırması ile birlikte gelir. Bu testlerden birini çalıştırmak için Test Paketleri sekmesine gidin ve seçilen test için Run test (Testi çalıştır) seçeneğini tıklayın.
Şekil 7. Test seçme.
Mevcut testleri düzenlemek veya yeni test eklemek için Test ekleme başlıklı makaleyi inceleyin.
Test çalıştırmasını yapılandırma
Bu test çalıştırması için 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 Maks. Yeniden Deneme ve Komut gibi parametrelerin herhangi birini ihtiyaçlarınıza göre değiştirebilirsiniz.
Şekil 8. Test çalıştırmasını yapılandırma.
Test çalıştırma parametreleri şunlardır:
- Ad: Çalıştırmak istediğiniz test paketinin adı.
- Çalıştırma Sayısı: Planlandığında bu test çalıştırmasının kaç kez yürütülmesi gerektiği. Test çalıştırmaları, Trade Federation kullanılarak planlanır. Bu araç, kapasitesi varsa 20'ye kadar test çalıştırmasını paralel olarak yürütür.
- Maks. Yeniden Deneme: En az bir test başarısız olursa bir test çalıştırmanın yeniden denenme sayısı. Bu, güvenilir olmayan testleri yönetmek amacıyla tam CTS çalıştırması için genellikle 4-6 yeniden deneme olarak ayarlanır.
- Sıralama Zaman Aşımı: Bir test çalıştırma işlemi Sırada durumunda çok uzun süre kalırsa otomatik olarak iptal edilir. İptalden önce beklemeniz gereken süreyi burada belirtin. 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 aşağıdakilerle belirli bir modülü çalıştırın:
cts-suite -m ShortModuleName
Tekrar Deneme Komutu: Bir test paketini yeniden deneme komutu. Buraya başka komut satırı bağımsız değişkenleri ekleyebilirsiniz. Örneğin, yalnızca CTS 8.1'de 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 komutta kullanılabilenlerden farklı olabilir. Bu nedenle, seçili test paketinin resmi sitesinde 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ırma kimliğini girin.
9. Şekil. Yerel önceki test çalıştırma.
Uzak: Çalıştırma farklı bir ana makinede başlatıldıysa Uzak'ı seçip Test Sonuçları Dosyasını Yükle'yi tıklayıp yerel depolama alanınızdan bir dosya seçerek test sonuçları dosyasını yükleyin.
Şekil 10. Uzaktan önceki test çalıştırması.
Cihazları seçin
Test paketini çalıştırmak için ayrılacak 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çiliyor.
Cihazları 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ğıdakileri girin:
product:bramble;product:bramble;product:bramble
Desteklenen özellikler şunlardır:
- build_id
- device_serial
- device_type [cihaz_türü]
- ana makine adı
- ürün
- ürün_varyant
- sim_state
Test çalıştırmasının yürütülebilmesi için seçilen tüm cihazlar Kullanılabilir durumunda olmalıdır ve test çalıştırması yürütüldüğünde tüm cihazlar Ayrılan durumuna geçer. Test çalıştırması, cihazların kullanılabilir hale gelmesini beklerken Sırada durumundadır.
Cihaz işlemleri ekleme
Cihaz işlemleri, her test çalıştırmadan önce yürütülebilecek komut dosyalarıdır. Yanıp sönme 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.
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. İşlemleri yeniden sıralama.
Test kaynaklarını ayarlama
Test kaynakları, test çalıştırmak için gereken dosyalardır. Örneğin, CTS'yi çalıştırmak için android-cts*.zip
dosyası gerekir. Bir cihazın yanıp sönmesi 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ı olmalıdır. 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ından dosya 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.
Şekil 15. Test Kaynak Seçici - Web URL'si.
Google Grive, Google Cloud Storage (GCS) veya başka kanallara kaynak yüklediyseniz ilgili kanalın sekmesine gidip oradaki kaynakları da seçebilirsiniz. Aşağıda, Google Drive'dan kaynak seçme örneği verilmiştir.
Şekil 16. Test Kaynak Seçici - Google Drive.
Dosya adı alanında, yalnızca dosya seçmenin yanı sıra joker karakterler de desteklenir. Dokümanları burada bulabilirsiniz.
Şekil 17. Test Kaynak Seçici - Joker karakter şablonu desteği.
OmniLab ATS'nin yerel dosya depolama alanından da dosya seçebilirsiniz. Bu depolama alanına dosya yükleyebilir veya yerel dosyaları ve dizinleri doğrudan kullanabilirsiniz.
Şekil 18. Test Kaynak Seçici - Yerel dosya deposu.
Yeniden çalıştırma yapılandırmaları ekle
Birincil çalıştırma tamamlandıktan sonra başlayacak ve sonuçlarını yükleyecek yeniden çalıştırma işlemleri planlayabilirsiniz. Bu işlemlerde farklı cihaz, işlem veya kaynaklar kullanabilirsiniz.
Şekil 19. Yeniden çalıştırma yapılandırmaları ekleme.
Test çalıştırması başlatma
Test çalıştırma için gereken bilgileri girdikten sonra Test Çalıştırmayı 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 ilerlemesini görebileceğiniz bir sayfaya yönlendirilirsiniz.
Şekil 20. Test çalıştırması başlatma.
Test planı oluşturma
Test planları, periyodik bir programda 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ırmak. Yeni bir test planı oluşturmak için Yeni bir 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 kullanıcı test planı listesi sayfasında Test planını çalıştır'ı tıkladığında test çalıştırmaları oluşturur.
- Düzenli: Test planı, test çalıştırmalarını seçilen düzenli programda otomatik olarak planlar. Örneğin, her gün saat 17:00'de bir test çalıştırma 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 * * *
olur.
Şekil 22. Test planı yapılandırma.
Test paketleri 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ını 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 başlıklı makaleyi inceleyin.
Şekil 24. Cihaz işlemleri ekleme.
Test kaynaklarını ayarlama
Test kaynaklarını test planlarına eklemek, bunları tek tek 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ını ayarlama.
Test çalıştırmalarını göster
Test çalıştırma listesi
Planlanmış test çalıştırmalarının listesini Test Çalıştırmaları sayfasında görebilirsiniz. Test çalışmasıyla ilgili daha fazla ayrıntı görmek için Görüntüle'yi tıklayın.
Listeyi, filtre çubuğuna bir dize girip Enter tuşuna basarak da filtreleyebilirsiniz. Birden fazla filtreyi virgülle ayırarak kullanabilirsiniz. Filtre, Status (Durum) ve Created (Oluşturuldu) hariç olmak üzere herhangi bir sütunda tam metni içeren (alt dize eşleşmesi olmayan) tüm satırları döndürür.
Boş bir filtre tüm satırları döndürür. Şu anda boş değerleri olan satırları filtrelemenin bir yolu yoktur.
Şekil 26. Test çalıştırma listesi.
Test çalıştırma ayrıntıları
Test çalıştırmasının ayrıntılarını (ör. durum, günlükler ve sonuçlar) burada görüntüleyebilirsiniz.
Şekil 27. Test çalıştırma ayrıntıları.
Test çalıştırma 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:
- Bekleme: Gerekli kaynaklar indiriliyor.
- Sıraya alındı: Test, bir cihaz kullanılabilir olduğunda çalıştırılmaya hazırdır.
- Çalışıyor - Test, tahsis edilen bir cihazda çalışmaktadır.
- Tamamlandı: Test tamamlandı ve sonuçları raporlandı.
- İptal edildi - Test, kullanıcı tarafından iptal edilmiştir veya kullanılabilir cihazları bulmaya çalışırken zaman aşımına uğramıştır.
- Hata: Testin çalışmasını engelleyen bir hata oluştu.
Test çalışmasını iptal etme
Test çalışması tamamlanmadıysa İptal'i ve ardından onay iletişim kutusunda Evet'i tıklayarak iptal edebilirsiniz. Ayrıca test çalıştırmaları, queue_timeout_seconds alanından daha uzun Queued durumunda kalırsa otomatik olarak iptal edilir. Çalışıyor durumundaki bir test çalıştırmanın iptal edilmesinin geçerlilik kazanması birkaç dakika sürebilir.
Şekil 29. Test çalıştırmasını iptal etme.
Test çalıştırma sonuçları
Test çalışması tamamlandıktan sonra sonuçlar toplanır ve gösterilir. Her bir ç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ı.
Canlı ana makine ve Tradefed günlüklerini Günlük sekmesinde 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ı olarak kullanılan dosyaları Test Kaynakları sekmesinde Aç'ı tıklayarak indirebilirsiniz.
Şekil 33. Test Kaynakları sekmesi.
Test çalıştırmasının ayrıntılarını (ör. create_time) 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 ile yazılmış yapılandırma dosyalarını kullanır. Aşağıda bir örnek yapılandırma dosyası verilmiştir:
// 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 kurarken yapılandırmanızı dosya olarak dışa aktararak diğer kullanıcılarla paylaşabilirsiniz. Bunu yapmak 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 işlemini otomatikleştirmek için kullanılır. İşlemler, yeniden denemelerden önce de dahil olmak üzere her test çalıştırmadan önce testin çalıştığı her cihazda çalıştırılan komut dosyalardır. Kullanılabilir cihaz işlemlerinin listesini görüntülemek için Ayarlar sayfasına gidip Cihaz İşlemleri sekmesini tıklayın. Yeniden başlatma ve önyükleme gibi çeşitli cihaz işlemleri önceden yapılandırılmış olarak gelir.
Şekil 36. Cihaz İşlemleri sekmesi.
Yeni 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.
38. Şekil. Cihaz işleminin adı.
Hedef Hazırlayıcı Ekle'yi tıklayın.
Trade Federation hedef hazırlayıcısının tam sınıf adını girin (ör.
com.android.tradefed.targetprep.RunHostCommandTargetPreparer
).Şekil 39. Hedef hazırlayan 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 tüm seçenekleri ekleyin. Kullanılabilir seçenekleri görüntülemek için AOSP'deki her hedef hazırlayıcının kaynak koduna yönelik targetprep öğesini 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ı tanımlayın (ör. önyükleme için resim oluşturma). Kaynak tanımı eklemek için Test Kaynağı Ekle'yi tıklayın ve gerekli alanları doldurun. Dosyalarınızın nerede olduğunu biliyorsanız göz at'ı 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ı kaldır'ı seçin. Ardından, geçici çalışma dizininin altındaki göreli Hedef dizinini ve sıkıştırması kaldırılacak Dosya Adlarını belirtin. Dosya adı belirtilmezse tüm dosyaların sıkıştırması test kaynağından kaldırılır.
Şekil 43. İşlem test kaynakları.
Güncelle'yi tıklayın.
Şekil 44. İşlem kaydetme işlemi.
Testleri yönetme
Testi 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.
45.şekilde Testi düzenleme
Yeni test ekleme
Yeni bir test eklemek için Testler sayfasına gidip Yeni Test Oluştur'u tıklayın. Uygun bilgileri girin ve Oluştur'u tıklayın.
Şekil 46. Test oluşturma.
Şekil 47. Bir testi 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ını dışa aktarma.
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.
49. Şekil. Ana makine yapılandırmasını içe aktarma.
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ı bu dizine kopyalayın veya taşıyın. Ardından, test çalıştırması planlarken Yerel Dosya sekmesinden dosyayı seçebilirsiniz.
cp /path/to/file $HOME/.ats_storage
Şekil 50. $HOME/.ats_storage
dizininden bir dosya seçiliyor.
--mount_local_path
işaretçisini kullanarak yerel dosya deposuna başka dizinler de bağlayabilirsiniz.
mtt start --mount_local_path=/path/to/dir1 --mount_local_path=/path/to/dir2:renamed_dir2
Şekil 51. Yerel dosya deposuna eklenen ek dizinler.
Çoklu ana makine modunu etkinleştirme
Çoklu ana makine moduyla 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_PREMISE
Denetleyiciye
http://${CONTROLLER_HOSTNAME}:8000
adresinden erişilip erişilemediğ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 birbiriyle iletişim kurmasına izin vermiyorsa aşağıdaki ATS çalışanıyla ilgili daha gelişmiş kurulum talimatlarını uygulamanız gerekir.
SSH tünelleri kullanarak iki ana makineyi bağlayın. Birincil ve dosya sunucusu bağlantı noktaları için bağlantı noktaları seçin (ör. 9000 ve 9006).
ssh -L ATS_PORT:localhost:8000 -L FS_PORT:localhost:8006 CONTROLLER_HOSTNAME
ATS'yi yapılandırın ve 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ı tanımlı yapılandırmalara göre dosyaları temizlemek için saatlik olarak çalışan bir cron işidir. ATS, test çalıştırma sonuçlarını arşivlemek ve geçici dosyaları silmek için iki varsayılan yapılandırmaya sahiptir. 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
Politikalar, dosya veya dizinlerde yapılacak 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 dosyayı arşivledikten sonra kaldırın. |
DELETE |
Kriterler, dosya özelliklerine ve sistem bilgilerine dayanır. Kullanılabilir ölçütler tabloda gösterilmiştir:
Ölçüt türü | Açıklama | Parametreler |
---|---|---|
LAST_MODIFIED_TIME | Dosyaları son değiştirilme tarihlerine ve saatlerine göre filtreleyin. | ttl : 10m , 2h , 7 days , 4w gibi çeşitli zaman ifadeleri desteklenir. Desteklenen biçimler için pytimeparse bölümüne bakın. |
LAST_ACCESS_TIME | Dosyaları son erişim tarihlerine ve saatlerine göre filtreleyin. | LAST_MODIFIED_TIME ile aynı. |
NAME_MATCH | Normal ifade kullanarak dosyaları adlarına göre filtreleyin. | pattern : Sonuç sıkıştırmalarını eşleştirmek için normal ifade (ör. [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 olmalıdır. Yapılandırmanız hedef dizini logs
olarak belirtiyorsa bu değer /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şlemle TÜM özel öğeler temizlenir.
Şekil 55. Dosya temizleyici ayarlarını sıfırlayın.
Destek
Hata raporları
OmniLab ATS'ye katkıda bulunarak aracın geliştirilmesini destekleyebilirsiniz. Katkılarınızı bekliyoruz. En son sürümle ilgili ayrıntılar için OmniLab ATS sürüm notlarına bakın. Hataları bildirmek veya öneride bulunmak için hata raporu gönderin. İş ortakları, hataları veya önerileri iş ortağı kanallarını kullanarak bildirmelidir.