OmniLab ATS, Android geliştiricilerin ve test mühendislerinin Android Uyumluluk Test Paketi (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 bir web arayüzü görevi görür. Bu sayede, minimum kurulumla bir dizi test cihazında CTS ve çok cihazlı testler yapabilir, ayrıca testleri sürekli olarak çalıştırmak için 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 kodunu kullanır:
- OmniLab ATS kaynak kodu
- TradeFed Cluster kaynak kodu
OmniLab ATS'yi yükleme
Çalıştırdığınız test paketleriyle ilgili donanım ve yazılım gereksinimlerini karşılayın.
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 gereksinimini kullanmanızı öneririz.
OmniLab ATS'yi yüklemenin iki yolu vardır:
- Yükleyici programını çalıştırın.
- Manuel olarak yüklemek 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ü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 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 kurulum 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ükleyin.
OmniLab ATS CLI, 3.7-3.11 arasındaki Python sürümleriyle doğrulanmıştır.
Ubuntu 16.04 veya önceki sürümlerde, önce aşağıdakilerden birini yaparak Python 3 için depoyu 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
Belirli bir Python 3 sürümünü (örneğin, 3.10) yüklemek için bunun yerine şu komutları çalıştırın:
sudo apt-get update
sudo apt install python3.10 python3.10-distutils
OmniLab ATS CLI'yı edinme
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 kez başlatıldığında görünmesi birkaç dakika sürebilir. CLI, tarayıcıda kullanıcı arayüzüne erişmek için bir web URL'si görüntüler. Varsayılan olarak web URL'si localhost:8000
şeklindedir. 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ı'nı inceleyebilirsiniz.
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, geçerli veritabanını ana dizininizde 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 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ı üzerinden 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 dosyayı yükleyip söz konusu ana makinede değiştirilen tüm yapılandırmaları kopyalayabilirsiniz.
1. şekil. 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 Upload Service Account Key'i (Hizmet Hesabı Anahtarını Yükle) tıklayın ve hizmet hesabınızın JSON anahtar dosyasını seçin.
Şekil 2. Hizmet hesabını ayarlama
Hizmet hesabı başarıyla kimlik doğrulandığında hesap 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.
3.Şekil 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ırmaya yönelik 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ı Google Hesabınızla doğruladıktan sonra, kullanabileceğiniz tüm yapılandırma kümelerinin listesini görürsünüz.
Test İstasyonu ana makinenize eklemek istediğiniz yapılandırma kümelerini seçip Seçilenleri İçe Aktar'ı tıklayın.
Şekil 4. Yapılandırma kümesi içe aktarma.
Kablosuz ağ ayarlarını dahil et
Bazı CTS testleri için cihazınızın kablosuz hotspot'a bağlanması gerekir. Kablosuz ağınızı seçmek için Kablosuz SSID'yi ve isteğe bağlı Kablosuz PSK'yı girin.
5.şekil Kablosuz hotspot ayarları.
Kurulum sihirbazını tamamladıktan sonra sayfa, yeni ayarlar uygulanmış şekilde yeniden yüklenir.
Cihaz bağla
Bir cihazı test için kullanmak üzere USB hata ayıklama etkinleştirilmelidir. Hata ayıklamayı etkinleştirmek için:
Geliştirici seçeneklerini ve hata ayıklamayı etkinleştirme 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/
dizinine yerleştirin.Dosyalar otomatik olarak yüklenir ve bu derlemelerin yüklü olduğu cihazlar için cihazın flash'ı yapıldıktan sonra USB hata ayıklamayı otomatik olarak etkinleştirmek üzere 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. Cihazların durumunu bu sekmede de görüntüleyebilirsiniz.
6.şekil Cihaz bağlama
Farklı cihaz durumları şunlardır:
- Kullanılabilir: Cihaz bağlandı ve test yapmaya hazır.
- Ayrıldı: Cihaz bağlı ve test çalıştırıyor. Her cihazda aynı anda yalnızca bir test çalıştırılabilir. Bu nedenle, cihazın yeni bir test çalıştırmadan önce mevcut testi tamamlaması gerekir.
Testi çalıştırma
Bir 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 gidip 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 başlıklı makaleyi inceleyin.
Test çalıştırmasını yapılandırma
Bu belirli 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 Maksimum Yeniden Deneme ve Komut gibi parametreleri 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 olması durumunda 20'ye kadar test çalıştırmasını paralel olarak çalıştıran Ticaret Federasyonu kullanılarak planlanır.
- Maksimum yeniden deneme sayısı: En az bir test başarısız olursa test çalıştırmasının yeniden denenebileceği maksimum sayı. Bu değer, genellikle tam bir CTS çalıştırması için 4-6 yeniden deneme olarak ayarlanır. Böylece, kararsız testler ele alınabilir.
- Kuyrukta Zaman Aşımı: Bir test çalıştırması çok uzun süre Kuyrukta durumunda kalırsa otomatik olarak iptal edilir. İptalden önce beklenecek süreyi belirtin. Varsayılan sıklık 24 saattir.
Komut: Test paketini çalıştırmak için kullanılan komut. Buraya ek komut satırı bağımsız değişkenleri girebilirsiniz. Örneğin, CTS 8.1'de belirli bir modülü şu komutla çalıştırın:
cts-suite -m ShortModuleName
Komutu Yeniden Deneme: Bir test paketini yeniden deneme komutu. Buraya ek komut satırı bağımsız değişkenleri ekleyebilirsiniz. Örneğin, CTS 8.1'de yalnızca 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 işlemi mevcut ana makinede başlatıldıysa test çalıştırmasının ayrıntıları görüntülenirken görünen test çalıştırması kimliğini girin.
Şekil 9. Önceki yerel 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.
10.şekil Önceki test çalıştırmasını uzaktan çalıştırma.
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şir.
11.Şekil 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ğıdakileri 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ülmesi için seçilen tüm cihazlar Kullanılabilir durumunda olmalı ve test çalıştırması yürütüldüğünde tümü Ayrılmış durumuna geçmelidir. Bir test çalıştırması, cihazların kullanılabilir olmasını beklerken Sıraya alındı durumundadır.
Cihaz işlemleri ekleme
Cihaz işlemleri, her test çalıştırmadan önce yürütülebilen komut dosyalarıdır. Bazı cihaz işlemleri (ör. yanıp sönme ve yeniden başlatma) ö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ırması yürütmek için gereken dosyalardır. Örneğin, CTS'yi çalıştırmak için android-cts*.zip
dosyası gerekir ve bir cihaza yazılım yüklemek 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ındaki dosyayı kullanabilir veya yerel depolama alanından kullanılacak bir dosya yükleyebilirsiniz.
Şekil 14. Kaynakları test edin.
Aşağıda, web URL'si ile test kaynağı seçmeye yönelik pop-up pencere gösterilmektedir. İndirme URL'si bağlantısını girip Seç düğmesini tıklayarak seçimi onaylayabilirsiniz.
15.şekil Test Kaynak Seçici - Web URL'si.
Google Drive, Google Cloud Storage (GCS) veya diğer kanallara kaynak yüklediyseniz ilgili kanalın sekmesine gidip kaynakları buradan da seçebilirsiniz. Google Drive'dan kaynak seçme örneğini aşağıda bulabilirsiniz.
16. şekil. Test Kaynak Seçici - Google Drive.
Yalnızca dosya seçmenin yanı sıra, Dosya adı alanında joker karakterler de desteklenir. Belgelere buradan ulaşabilirsiniz.
17. şekil. Test Kaynak Seçici - Joker karakter şablonu desteği.
OmniLab ATS'nin yerel dosya depolama alanından da bir dosya seçebilirsiniz. Bu depolama alanına dosya yükleyebilir veya yerel dosya ve dizinleri doğrudan kullanabilirsiniz.
18.şekil Test Kaynak Seçici - Yerel dosya deposu.
Yeniden çalıştırma yapılandırmaları ekleme
Birincil yayın tamamlandıktan sonra başlayacak ve sonuçları yüklenecek yeniden yayınlar planlayabilirsiniz ancak farklı cihazlar, işlemler veya kaynaklar kullanabilirsiniz.
Şekil 19. Yeniden çalıştırma yapılandırmaları ekleme.
Test çalıştırması başlatma
Test çalıştırması 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 ilerleme durumunu görüntülemek için bir sayfaya yönlendirilirsiniz.
Şekil 20. Test çalıştırması başlatma.
Test planı oluşturma
Test planları, test çalıştırmalarını periyodik bir programa göre oluşturmak için kullanılır. Örneğin, her gün saat 17:00'de CTS 9.0'ı çalıştırma. 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ırın
Test planının adını ve eklemek istediğiniz etiketleri girin. Ardından, kullanılacak bir plan 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 test çalıştırması planlama.
- Ö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.
22. şekil. 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.
23.şekil Test çalıştırması yapılandırma.
Cihaz işlemleri ekleme
Her test çalıştırmadan ö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 planlarına test kaynağı eklemek, bunları tek tek test çalıştırmalarına eklemekle aynıdır. Daha fazla bilgi için Test kaynaklarını ayarlama başlıklı makaleyi inceleyin.
25. şekil. Test kaynaklarını ayarlama.
Test çalıştırmalarını görüntüleme
Test çalıştırması listesi
Planlanan test çalıştırmalarının listesini Test Çalıştırmaları sayfasında görüntüleyin. Bir 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. Filtreleri virgülle ayırarak birden fazla filtre kullanabilirsiniz. Filtre, Durum ve Oluşturuldu hariç olmak üzere herhangi bir sütunda tam metni (alt dize eşleşmesi yok) 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ğerler içeren satırları filtrelemenin bir yolu yoktur.
26.şekil Test çalıştırması listesi.
Test çalıştırması ayrıntıları
Test çalıştırmasıyla ilgili ayrıntıları (ör. durum, günlükler ve sonuçlar) buradan görüntüleyebilirsiniz.
27. şekil. 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 ileti varsa bu ileti de burada gösterilir.
Şekil 28. Test çalıştırması 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ışıyor.
- Tamamlandı: Test tamamlandı ve sonuçları bildirildi.
- İ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ışmasını engelleyen bir hata oluştu.
Test çalıştırmasını iptal etme
Test yayını tamamlanmadıysa İptal'i ve ardından onay iletişim kutusunda Evet'i tıklayarak iptal edebilirsiniz. Test çalıştırmaları, Queued (Sıraya Alındı) durumunda queue_timeout_seconds alanından daha uzun süre kalırsa otomatik olarak iptal edilir. Çalışıyor durumundayken test çalıştırmasını iptal etmenin etkili olması 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ırma için oku tıklayarak ek ayrıntıları görüntüleyebilirsiniz. test_result.xml
ve test_result_failures.html
gibi toplanan test yapılarını görmek için Çıkış Dosyalarını Görüntüle'yi tıklayın.
30. şekil. Test çalıştırma sonuçları.
Canlı ana makine ve Tradefed günlüklerini Günlükler sekmesinde görüntüleyebilirsiniz.
Şekil 31. Günlükler sekmesi.
Bağımsız modüllerin sonuçları Test Sonuçları sekmesinde yer alır.
32. şekil. Test Sonuçları sekmesi.
Test Kaynakları sekmesinde Aç'ı tıklayarak test kaynağı olarak kullanılan dosyaları indirebilirsiniz.
Şekil 33. Test Kaynakları sekmesi
Test çalıştırmasıyla ilgili ayrıntıları (ö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 örnek bir 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 oluştururken 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.
35.şekil 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 örneklerine ekleyebilirler.
Yeni bir cihaz işlemi oluşturma
Cihaz işlemleri, cihaz kurulum sürecini otomatikleştirmek için kullanılır. Eylemler, her test çalıştırmadan önce (yeniden denemeler dahil) testin üzerinde çalıştırıldığı 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 gidip Cihaz İşlemleri sekmesini tıklayın. Yeniden başlatma ve flaşlama gibi çeşitli cihaz işlemleri önceden yapılandırılmıştır.
Ş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.
38. şekil. Cihaz işleminin adı.
Hedef hazırlayan ekle'yi tıklayın.
Trade Federation Target Preparer'ın tam sınıf adını girin (ör.
com.android.tradefed.targetprep.RunHostCommandTargetPreparer
).39.şekil Hedef hazırlayıcı ekleme.
Kullanılabilir hedef hazırlayıcıların listesini com.android.tradefed.targetprep referansında bulabilirsiniz.
40.Şekil Hedef hazırlayan 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 kodunu targetprep'te kontrol edin:
41.şekil İş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. yanıp sönme için derleme resimleri). Kaynak tanımı eklemek için Test Kaynağı Ekle'yi tıklayın ve zorunlu alanları doldurun. Dosyalarınızın nerede bulunduğunu biliyorsanız Gözat'ı tıklayarak varsayılan bir indirme URL'si sağlayabilirsiniz. Hedef hazırlayanlar dizini test kaynağı olarak kabul ediyorsa Aç'ı seçin. Ardından, geçici çalışma dizini altındaki göreli Hedef dizini ve sıkıştırılmış dosyaların Dosya Adlarını belirtin. Dosya adı verilmezse tüm dosyalar test kaynağında sıkıştırılmış olarak çıkarılır.
43. şekil. İşlem testi kaynakları.
Güncelle'yi tıklayın.
Şekil 44. İşlem değişiklikleri kaydeder.
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.
Şekil 45. Test düzenleme
Yeni test ekleme
Yeni bir test eklemek için Testler sayfasına gidin ve Yeni Test Oluştur'u tıklayın. Uygun bilgileri girin ve Oluştur'u tıklayın.
46.şekil 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 bilgisayarlara 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
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ı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 dosyayı Yerel Dosya sekmesinden seçebilirsiniz.
cp /path/to/file $HOME/.ats_storage
50.şekil $HOME/.ats_storage
dizininden bir dosya seçme
--mount_local_path
işaretini kullanarak yerel dosya deposuna ek dizinler bağlayabilirsiniz.
mtt start --mount_local_path=/path/to/dir1 --mount_local_path=/path/to/dir2:renamed_dir2
Şekil 51. Yerel dosya deposunda ek dizinler monte edilir.
Ç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.
52. şekil. Çoklu ana makine modu mimarisi.
ATS denetleyicisini başlatmak için aşağıdaki komutu kullanın:
mtt start --operation_mode=ON_PREMISE
Kontrol cihazına
http://${CONTROLLER_HOSTNAME}:8000
adresinden 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ın ana makinelerin birbirleriyle iletişim kurmasına izin vermiyorsa ATS çalışanı üzerinde aşağıdaki daha gelişmiş kurulum talimatlarını uygulamanız gerekir.
SSH tünellerini kullanarak iki ana bilgisayarı birbirine bağlayın. Birincil ve dosya sunucusu bağlantı noktaları için bağlantı noktaları seçin (örneğin, 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 saatte bir ç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
Politika, dosyalarda 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 dosya, arşivlendikten sonra kaldırılır. |
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 : 10m , 2h , 7 days , 4w gibi çeşitli zaman ifadeleri desteklenir. 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ıdır. |
NAME_MATCH | Normal ifade kullanarak dosyaları adlarına göre filtreleyin. | pattern : Normal ifade (ör. sonuç zip'lerini 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 tetikleme | threshold : Kullanılabilir alan eşiğin altına düştüğünde işlemi tetikleyin. Örneğin, 200 (B), 200KB , 200MB , 200GB , 2TB . |
53.şekil 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
dizini altında bulunmalıdır. Yapılandırmanız hedef dizini logs
olarak belirtiyorsa 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.
55.şekil Dosya temizleyici ayarlarını sıfırlayın.
Destek
Hata raporları
OmniLab ATS'ye katkıda bulunarak aracın geliştirilmesine yardımcı olabilirsiniz. Geri bildirimlerinizi bekliyoruz. En son sürümle ilgili ayrıntılar için OmniLab ATS sürüm notlarına bakın. Hata bildirmek veya öneride bulunmak için hata raporu gönderin. İş ortakları, hataları veya önerileri iş ortağı kanallarını kullanarak bildirmelidir.