Testi otomatik olarak yeniden deneme

Bir test herhangi bir nedenle başarısız olabilir ve bazen testi yeniden çalıştırmak (ör. matristeki sorunlar gibi nedenlerle) ). Yeniden deneme yapmak için Tradefed'i yapılandırabilirsiniz otomatik olarak oluşturur.

Otomatik yeniden denemenin temelinde tüm testlerin yeniden çalıştırılmaması gerekir. tekrar çalışıyor başarısız oldu. Bu da yürütme süresinde büyük tasarruf sağlar.

Ayrıca, "trast", değişikliklerin algılanması için iterasyonlar özelliğiyle gevşekliğe Bu durumda, tüm testler tekrar çalıştırır ve yinelemelerden herhangi biri başarısız olursa test başarısız olur.

Otomatik yeniden denemeyi etkinleştir

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

max-testcase-run-count, gerçekleştirilecek deneme ve yineleme sayısını artırır denenir. Sürekli yeniden denemeden kaçınmak için bir üst sınır belirler. retry-strategy, yeniden deneme kararını etkiler. aşağıdaki bölümleri inceleyin inceleyebilirsiniz.

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ç bildirenler varsayılan olarak tüm denemelerin toplu sonuçlarını alır.

Örneğin: RETRY_ANY_FAILURE için Fail ve Pass şu şekilde sonuçlanır: Yeniden deneme, hatayı temizlemeyi başardığından beri Pass toplandı.

Bildirenlerin toplu olmayan sonuçları alması mümkündür. Bunun için, web sitesi ve katalogda ISupportGranularResults arayüzü içeren bir etiket oluşturabilirsiniz.

Uygulama ayrıntıları

Başarısızlıkları test durumu düzeyinde yeniden çalıştırmak üzere otomatik yeniden denemeyi etkinleştirmek için ITestFilterReceiver.

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