Google is committed to advancing racial equity for Black communities. See how.
Bu sayfa, Cloud Translation API ile çevrilmiştir.
Switch to English

Tekrar Deneme Süiti Kullan

Bir paket, birkaç test modülü içerme eğilimindedir ve oldukça büyük bir test topluluğu boyutuna ulaşabilir. Örneğin, Android Uyumluluk Test Paketi (CTS) yüzlerce modül ve yüz binlerce test durumu içerir.

Yetersiz izolasyon veya cihazların kötü duruma geçmesi nedeniyle çok sayıda testin başarısız olması mümkün hale gelir.

Paketi yeniden deneme özelliği bu durumları ele almak içindir: Kesintiyi ve zayıf izolasyonu ortadan kaldırmak için tam takımlar yerine yalnızca arızaları yeniden denemenize izin verir. Bir test sürekli olarak başarısız oluyorsa, yeniden deneme de başarısız olur; ve gerçek bir sorun olduğuna dair çok daha güçlü bir sinyal alırsınız.

Paketi yeniden denemeyi uygulayın

Sonuçların yeniden denenmesi, önceki sonuçların okunmasını ve önceki çağrının yeniden çalıştırılmasını içerir.

Yeniden denemeyi yönlendiren ana arabirim, önceki bir sonucu ve önceki komut satırını yüklemenize izin veren ITestSuiteResultLoader'dır .

RetryRescheduler daha sonra bu bilgileri kullanarak önceki komutu yeniden oluşturur ve yalnızca önceki hataları veya yürütülmemiş testleri yeniden çalıştırmak için bazı filtreleri doldurur.

Örnek paketin yeniden denenmesi: CTS

CTS'deki yeniden deneme yapılandırması:

<configuration description="Runs a retry of a previous CTS session.">
    <object type="previous_loader" class="com.android.compatibility.common.tradefed.result.suite.PreviousResultLoader" />
    <test class="com.android.tradefed.testtype.suite.retry.RetryRescheduler" />

    <logger class="com.android.tradefed.log.FileLogger">
        <option name="log-level-display" value="WARN" />
    </logger>
</configuration>

Bu, onu genişleten süitlerin çoğu için geçerlidir, örneğin VTS ).

Şu şekilde çağrılır:

cts-tradefed run retry --retry <session>

Oturum, CTS konsolunda önceki sonuçların listelenmesiyle bulunabilir:

cts-tf > l r
Session  Pass  Fail  Modules Complete  Result Directory     Test Plan  Device serial(s)  Build ID   Product
0        2092  30    148 of 999        2018.10.29_14.12.57  cts        [serial]          P          Pixel

Tam orijinal komut yeniden yüklenecek ve ekstra filtrelerle yeniden çalıştırılacaktır. Bu, orijinal komutunuz bazı seçenekler içeriyorsa, bunların da yeniden denemenin bir parçası olacağı anlamına gelir.

Örneğin:

cts-tradefed run cts-dev -m CtsGestureTestCases

Yukarıdakilerin yeniden denenmesi her zaman CtsGestureTestCases ile sınırlı olacaktır çünkü sadece onu içeren bir komutu yeniden CtsGestureTestCases .

CTS tarzı paket için yeniden denemeyi yapılandırın

Yeniden denemenin çalışması için, önceki sonuçların proto formatında dışa aktarılması gerekir. Aşağıdakilerin eklenmesi gerekiyor:

<result_reporter class="com.android.compatibility.common.tradefed.result.suite.CompatibilityProtoResultReporter" />

Bunun ana komutun XML yapılandırmasına eklenmesi gerekir ve sonuç klasöründe bir test-record.pb dosyasının oluşturulmasıyla sonuçlanır.

CTS yeniden test_result.xml daha sonra yeniden deneme çağrısını hazırlamak için test-record.pb ve mevcut test_result.xml kombinasyonundan verileri yükler.