Tworzenie raportującego wyniki

Na tej stronie znajdują się podstawowe informacje na temat implementacji nowego narzędzia do raportowania wyników oraz skonfigurować ją na potrzeby testu.

Główny interfejs

Aby zdefiniować w ramach Tradefed nową funkcję raportowania wyników, klasa musi zaimplementować ITestInvocationListener który pozwala odbierać i obsługiwać różne etapy wywołanie:

  • invocationStarted
  • invocationEnded
  • invocationFailed

Raporty wyników obsługują też różne etapy każdego testu:

  • testRunStarted
  • testStarted
  • testFailed lub testIgnored
  • testEnded
  • testRunFailed
  • testRunEnded

Biorąc pod uwagę wszystkie te zdarzenia, wyróżniamy 2 główne typy osób zajmujących się raportowaniem wyników:

  • Skup się tylko na raportowaniu ostatecznych wyników.
  • Wykonuj działania dotyczące częściowych wyników.

Raportujący wyniki, który podaje ostateczne wyniki

To najczęstszy przypadek interakcji z reklamą zewnętrzną i usługi otrzymującej wyniki. Osoba zgłaszająca po prostu otrzymuje i gromadzi a następnie wysyła je wszystkie w invocationEnded do punktu końcowego wyniku.

Zalecamy tym osobom wydłużenie terminu na CollectingTestListener podstawowego interfejsu, by uniknąć ponownego wdrażania zapisywania i przechowywania wyników do invocationEnded.

Zgłaszający wyniki, który zgłasza częściowe wyniki

Ten typ jest zwykle używany do strumieniowego przesyłania wyników, gdy są od razu odbierane i wysyłane do innych miejsc. Na przykład reporter który rejestruje wyniki w konsoli, będzie tego typu.

Ten typ zależy od tego, jaki jest wymagany sposób obsługi zdarzeń. dlatego zwykle zalecaną metodą jest wdrożenie interfejsu podstawowego.

Konfiguracja XML

Tag obiektu to result_reporter. Na przykład:

<result_reporter class="com.android.tradefed.result.ConsoleResultReporter">
    <option name="suppress-passed-tests" value="true"/>
</result_reporter>