Interface Android Roboter Test mit Teamcity

8

Da dies vorher nicht beantwortet wurde (Vielleicht habe ich es nicht gefunden), habe ich zu der folgenden Frage nachgegangen:

Wie führt man automatische Funktionstests auf Android-Geräten mit roboterium durch und meldet sie an den Server für kontinuierliche Integration wie TeamCity?

    
Al_th 17.05.2013, 09:47
quelle

1 Antwort

12

Da ich zu dieser speziellen Frage keine Antwort fand, untersuchte ich. Hier ist die Ausgabe meiner Untersuchung und eine kurze Anleitung, um Menschen zu helfen, automatisierte Funktionstests von Android-Anwendungen mit Robotium durchzuführen und dann die Ergebnisse an einen kontinuierlichen Integrationsserver wie TeamCity zu melden. Bitte beachten Sie, dass dies möglicherweise nicht die beste Lösung ist, aber ich habe das Gefühl, dass sich die Leute in der gleichen Situation befinden wie ich. Also hier ist es!

Die folgenden Bibliotheken wurden verwendet:

  • Robotium ( Ссылка ): Dies ist ein Android-Testautomatisierungs-Framework. Es hilft Ihnen, automatisierte Tests wie klicken Sie auf Schaltflächen, füllen Sie Text automatisch und viele andere Dinge.
  • Android Juni-Bericht ( Ссылка ): Diese Bibliothek ist sehr nützlich, um Testergebnisse in einem ausnutzbaren XML-Format zu veröffentlichen. Wenn Sie Ihre Tests über Eclipse ausführen möchten, sehen Sie die Ergebnisse Ihrer Tests auf dem Weg, aber um sie zu exportieren, ist diese Bibliothek sehr nützlich

Angenommen, Sie haben ein Android-Projekt zum Testen, erstellen Sie ein Android-Testprojekt (Eclipse hat einen schönen Workflow, um es für Sie zu erstellen) und richten Sie es für die Zusammenarbeit mit Robotium ein. Eine ziemlich klare detaillierte Anleitung dazu finden Sie hier: Ссылка

Dann müssen Sie Ihrem Projekt Android Junit Report hinzufügen, um die Ergebnisse Ihrer Tests abrufen zu können. Fügen Sie dazu die Android Junit Report * .jar-Bibliothek in Ihrem lib-Ordner hinzu und fügen Sie sie Ihrem Build-Pfad hinzu (in Eclipse: Projekt - & gt; Eigenschaften - & gt; Java Build-Pfad - & gt; Bibliotheken - & gt ; Externes Glas hinzufügen ).

Sie müssen auch den Test-Runner Ihres Projekts ändern. Fügen Sie in der AndroidManifest.xml Ihres Testprojekts Folgendes hinzu:

%Vor%

Sobald dies erledigt ist, sollten Sie Ihre Tests ordnungsgemäß ausführen können. Die Ergebnisse der Tests sollten auf Ihrem Gerät verfügbar sein (im folgenden Ordner /data/data//files/junit-report.xml )

Der nächste Schritt besteht darin, Ihre TeamCity-Build-Schritte so zu konfigurieren, dass alle erforderlichen Aktionen zum Ausführen Ihrer Tests ausgeführt werden. Bitte beachten Sie, dass meine Lösung möglicherweise nicht die optimale ist!

  • Build Schritt 1: Bereinigen - Befehlszeilen-Runner - Dieser Build-Schritt kann optional sein, abhängig davon, wie Sie sich entscheiden, Ihre build.xml-Dateien und solche Build-Entscheidungen zu erstellen.

    %Vor%
  • Build Schritt 2: Starten Sie AVD - Command Line Runner - Dieser Build-Schritt startet das virtuelle Android-Gerät. Dieser Schritt kann optional sein, wenn Sie die Tests auf einem tatsächlichen Gerät ausführen möchten.

    %Vor%

    Der & amp; verhindert, dass die Erstellung durch den Start des virtuellen Geräts unterbrochen wird (Dies ist der grundlegende Shell-Befehl). Mit dem Befehl sleep wird versucht, den AVD für den nächsten Build-Schritt bereit zu machen.

  • Build Schritt 3: Testen der App-Version - Ant runner: Erstellen Sie das Testprojekt, installieren Sie es auf dem virtuellen Gerät

    %Vor%
  • Build Schritt 4: AVD Unlock - Befehlszeilen-Runner: Entsperren Sie den AVD-Bildschirm zu Testzwecken

    %Vor%

    Körper von avdUnlock.sh hier: ( Ссылка ). Dieses Skript sendet Informationen über den regulären AVD-Port, um den Bildschirm zu entsperren. Dies kann verbessert werden, indem der Befehl nur an einen bestimmten Port gesendet wird und Build-Schritt 2 geändert wird, um dem Emulatorstart einen bestimmten Port hinzuzufügen. Dies ist jedoch nicht wirklich Teil dieses How-To

  • Build Schritt 5: Tests starten - Befehlszeilen-Runner: Starten Sie die Tests

    %Vor%

    Der erste adb-Befehl konnte entfernt werden. Dies dient nur zu Debugzwecken, um zu sehen, welche Instrumentierung auf dem Gerät installiert wurde.

  • Schritt 6: Abrufen von Tests - Befehlszeilen-Runner: Abrufen von Testberichten vom Gerät

    %Vor%
  • Build Schritt 7: Endgültiger Emulator-Kill - Befehlszeilen-Runner: Töte das laufende virtuelle Android-Gerät

    %Vor%
  • Zusätzliche Build-Funktionen: XML-Berichtsverarbeitung - Berichtstyp: Ant JUnit

    %Vor%

Dieses How-To ist eindeutig nicht optimal, aber beantworten Sie die ursprüngliche Frage. Auf diese Weise ist es möglich, den Bericht der Android-Funktionstests abzurufen und ihn an teamcity zu übermitteln, um die Testergebnisse zu überwachen.

Ich hoffe, das wird jemandem helfen, und ich würde versuchen, auf Ihre Fragen zu antworten, wenn Sie welche haben.

Al_th

    
Al_th 17.05.2013, 09:47
quelle