Otomatik test yeniden denemesi

Testler herhangi bir nedenle başarısız olabilir. Bazen testin tekrar çalıştırılması, testin tekrar geçmesi için yeterlidir (temel altyapıdaki sorunlar gibi kararsızlıklar nedeniyle). Tradefed'i yeniden denemeyi otomatik olarak gerçekleştirecek şekilde yapılandırabilirsiniz.

Otomatik yeniden deneme özelliğinin temelinde, testlerin tümünün yeniden çalıştırılmasını önlemek vardır. Yalnızca başarısız testler yeniden çalıştırılır. Bu da yürütme süresinde büyük tasarruf sağlar.

Ayrıca, "trast", çeşitli öğeleri tespit etmek için iterasyonlar özelliğiyle gevşekliğe Bu durumda tüm testler yeniden çalıştırılır ve iterasyonlardan herhangi biri başarısız olursa test başarısız olur.

Otomatik yeniden denemeyi etkinleştirme

Otomatik yeniden deneme, RetryDecision nesnesi Bu özellik, özelliği etkinleştirmek için iki seçenek sunar: max-testcase-run-count ve retry-strategy.

max-testcase-run-count, denenecek yeniden deneme veya iterasyon sayısını belirler. Sürekli yeniden denemeden kaçınmak için bir üst sınır belirler. retry-strategy, yeniden deneme şekline karar verir. Daha fazla bilgi için aşağıdaki bölümlere bakın.

Otomatik yeniden denemeyi devre dışı bırak

Aşağıdaki seçeneği kullanın:

--retry-strategy NO_RETRY

Başarısız yeniden deneme işlemleri

Test hatalarını yeniden denemek için aşağıdaki seçenekleri kullanın:

--retry-strategy RETRY_ANY_FAILURE --max-testcase-run-count X

Bu işlem, başarısız olana kadar veya maksimum yeniden deneme sayısına ulaşana kadar yeniden dener ulaşılırsa (hangisi önce gelirse)

İterasyonlar/Yinelemeler

Testleri belirli bir süre boyunca yeniden çalıştırmak için aşağıdaki seçenekler kullanılabilir:

--retry-strategy ITERATIONS --max-testcase-run-count X

Sonuçlar nasıl görünüyor?

Sonuç bildiren kullanıcılar varsayılan olarak tüm denemelerin toplu sonuçlarını alır.

Örneğin: RETRY_ANY_FAILURE için bir Fail ve bir Pass, yeniden deneme hatayı gidermeyi başardığı için birleştirilmiş bir Pass ile sonuçlanır.

Raporlama yapanların toplu olmayan sonuçları alması mümkündür. Bunun için ayrıntılı (toplu olmayan) sonuçlar için destek belirten ISupportGranularResults arayüzünü genişletmeleri gerekir.

Uygulama ayrıntıları

Testin başarısız olduğu durumlarda testin otomatik olarak yeniden denenmesi için ITestFilterReceiver'ı uygulayın.

ITestFilterReceiver'ı uygulayamıyorsanız, IAutoRetriableTest çalışma şeklini manuel olarak kontrol etmek için gereklidir. Yüklü Enstrümanlar Testi bu arayüzün örnek bir uygulamasıdır.