Der Testläufer ist die Ausführungseinheit des Aufrufablaufs. Hier werden tatsächlich Tests durchgeführt.
Schnittstellen
Testläufer werden über die IRemoteTest-Schnittstelle definiert, die eine einfache zu implementierende run
bereitstellt, die aufgerufen wird, wenn die Tests ausgeführt werden sollen.
Dies ermöglicht die einfachste Definition eines Testlaufs. In der Praxis benötigen Testautoren jedoch mehr Informationen, um ihre Tests ordnungsgemäß zu schreiben, typischerweise Build- und Geräteinformationen. Hier kommen die folgenden Schnittstellen zum Einsatz.
Basic
Diese beiden Schnittstellen werden heute am häufigsten verwendet, da sie die Grundbedürfnisse der meisten Tests abdecken.
- Mit IBuildReceiver kann der Test das im Build-Provider- Schritt erstellte
IBuildInfo
Objekt abrufen, das alle Informationen und Artefakte im Zusammenhang mit dem Test-Setup enthält. - Mit IDeviceTest kann TF das
ITestDevice
Objekt empfangen, das das zu testende Gerät darstellt, und eine API für die Interaktion mit ihm bereitstellen.
Fortschrittlich
Es gibt zusätzliche Schnittstellen, die eine komplexere Interaktion zwischen dem Test-Harness und dem Test-Runner ermöglichen:
- ITestFilterReceiver , wodurch der Test eine Reihe von Filtern nur zum Ausführen bestimmter Tests empfangen kann. Dies ist nützlich, um eine Teilmenge der Tests auszuführen.
- ITestCollector , der es einem Testläufer ermöglicht, die Tests nur trocken auszuführen, anstatt sie tatsächlich auszuführen. Dies ist hilfreich beim Sammeln der Liste aller Testfälle.
Bestehende Testläufer
Es gibt bereits eine Vielzahl von Testläufern, einige davon für wichtige Testtypen:
- AndroidJUnitTest / InstrumentationTest (auf der Geräteseite mit AJUR verknüpft)
- GTest (Geräte- und Hostseite) mit der Googletest-Bibliothek
- Hostgesteuerte Tests (Java-Tests, die auf dem Host ausgeführt werden und von dort aus das Gerät aufrufen)
- Reine Java-Unit-Tests (unser Läufer macht beides)
- Python-Tests
- Google Benchmark-Tests mit Benchmark-Bibliothek
Darüber hinaus gibt es eine große Anzahl benutzerdefinierter Testläufer. Sie dienen speziellen Zwecken für einige Funktionstests, beispielsweise den Boot-Test.
Schreiben Sie einen neuen Testläufer
Weitere Anleitungen zum Schreiben eines neuen Testläufers finden Sie im Abschnitt zum Schreiben von Tests .